Revert "Fixed a bug in solver::cg"

This reverts commit 61e08e011370c415e8a3c7c17413adbaedfdb2e0.
The version with the 'bug' actually worked better.
Count iterations in CG more accurately
Started work on using null-space information for aggregated AMG

Implemented tentative prolongation with null-space for non-smoothed
aggregation.
Moved tentative prolongation to its own header
Tentative prolongation with null-space for smoothed aggregation
out of bounds bug fixed
Assume eigen is availabe

Will get rid of Eigen dependency later
Take null-space vectors in matrix market solver
Documenting tentative prolongation code
Moved nullspace params to tentative_prolongation.hpp

Also updated docs, fixed a bug in smoothed_aggregation
Bring preprocessor guard into accordance
Revert to initial version of SA with energy minimization

The implementation assumes that tentative prolongation operator is
picewise-constant.