Improve SimplicialLLT::analyzePattern
Current implementation uses the SuiteSparse LDL implementation, which is concise and educational, but very slow. https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/master/LDL/Source/ldl.c
Instead, we should use the methods described here (which are used in SuiteSparse's production grade Simplicial and Supernodal implementations) https://www.researchgate.net/publication/2513622_An_Efficient_Algorithm_to_Compute_Row_and_Column_Counts_for_Sparse_Cholesky_Factorization. I have a rough implementation on my machine based on this paper (to avoid rote copy and paste of SuiteSparse code) and it works very well. Many details to iron out.