Rename matrix classes.
Correct Doxygen documentation.
Rename matrix tests.
Adapt code to renamed matrix classes.
Adapt code to renamed matrix classes.
Rename matrix tests.
Adapt to remamed matrix test executables.
Review and modify abstract matrix interface.

The abstract matrix interface defined in GMatrixBase was reviewed and modified according to common practices.

All "col" arguments and method names were expanded to "column". The cols() method which returned the number of columns in a matrix is now named columns().

The insert_row/col and set_row/col methods were renamed to row() and column() which allow setting and getting a row or a column in a matrix using a GVector object. In the set methods, the row or column index are now passed as first argument, followed by the vector.

The add_row/col methods were renamed to add_to_row() and add_to_column() to be more explicit. Also here, the row or column index are now passed as first argument, followed by the vector.

Every matrix class will now have a transpose(), invert(), negate(), abs(), fill(), min(), max(), and sum() method.

A size() method has been added to GMatrixBase that returns the number of elements in a matrix.
Adapt to review matrix interface.
Remove negation(), addition() and subtraction() methods from GMatrixBase class.

The corresponding functionality is now implement on the derived class level.
Implement row() setting and add_to_row() methods, make abs() friend inline.
Remove friend declarations (as all methods access public class methods), and add Doxygen documentation for inline methods.
Rename protected method multiplication() into scale_elements() to become more explicit.
Remove friends that do not need to access protected or private class members or methods.
Add invert() functions.
Declare abs() function as inline.
Set compress argument by default to true for Cholesky functions.

The removal as friends removed also the default argument settings. I put now the settings back to get the old behaviour.
Review GVector interface.

No significant change to the GVector interface has been done, but many of the complex inline functions have been put into the .cpp file, and functions that do not need to be friends are no longer declared friends.

The Doxygen documentation has been improved.
Clean up test code.
Speed-up matrix multiplication.

Before the matrix access operator was used in matrix multiplication which led to a substantial overhead. Now, a pointer on the matrix memory is used which considerably speeds-up the computations.