Solved #177 and #124

More details:
Added remove row/column methods to Matrix (issue #177)
Added new class LeastNormSolver (issue #124)
I like the `that` name for the matrix. But the other methods use `result` instead. I think we should follow this rule in order to make the code uniform. Also, `this` is unnecessary.