probing sampler added (log-det)

- added a struct SparsityStructure
- since we only need to use this structure for coloring, added a method get_sparsity_structure, which takes the power of matrix whose sparsity structure has to be used for coloring, then computes the matrix power in log(n) and returns the sparsity structure of the power instead of the whole matrix
- added a unit-test for this to make sure this matrix multiplication works same as normal multiplication
- added a probing sampler class which uses this method, and uses colpack to compute the probing vector
- added unit-test for this