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
- 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