GaussAlgorithm is not inherited from DenseDirectLinearSolver anymore.
Removed class DenseDirectLinearSolver.
Removed class DirectLinearSolver.
Removed class LinearSolver.
Made GaussAlgorithm a template.

The template arguments are matrix type and vector type. For new
matrix types it is necessary to specialize the template. This is
done for DenseMatrix as matrix type and double* as vector type.
Define Matrix::FP_T type for all matrices and vectors.

This is usefull for example to ensure that the underlying matrix and vector types are the same.
Correct CRSMatrix::getValue() return type.
Make functions in TriangularSolve template.

The forwardSolve() and backwardSolve() methods are independent of the DenseMatrix's underlying type.
Generalize GaussAlgorithm<M, double*> to GaussAlgorithm<M, M::FP_T*>.
Remove nonimplemented GaussAlgorithm<M,V>.

This cause the compiler to detect an error of instantiating a not implemented GaussAlgorithm.
Added test for dense Gauss algorithm.