Adding unittests and documentation for LinearSolver