Feature/log determinant

- added complex64 support for SparseFeatures
- added template dense_dot method in SGSparseVector
- added template sparse-maxtix vector multiply operator in SGSparseMatrix
- changed LinearOperator and implementations to take two template arguments (to enable them to be applied on a vector of different datatype)
- changed LinearSolver and implementations to solve systems with new linear operator, it can solve linear systems with complex linear operator and real vector
- added iterator for iterative solvers
- added iterative linear solver base and conjugate gradient solver+unit-test.