[MathLib] Move performLU() from constructor to solve().

In the current workflow the solver obj will be created when the matrix isn't.
For this reason the LU decomposition has to be moved to a later point in time.
[T] Using new interface of class GaussAlgorithm.
[GeoLib] Using new interface of class GaussAlgorithm.
[SimpleTests] Using new interface of class GaussAlgorithm.