Implement decomposition based solve functions for solving Ax = b
Overload << for DenseMatrix class
overload << for MatrixBase class

Now any drived class of `MatrixBase`can have their own printing fucntion
Merge branch 'master' into solve_ax_b

Conflicts:
	src/tests/printing/test_printing.cpp
Refactor

* Restructure the implementation of operator ==
* Move implementation of __string__() to matrix.cpp
Merge pull request #235 from thilinarmtb/solve_ax_b

Implement decomposition based solve functions for solving Ax = b