Fixing bug in gauss_elimination and add tests

Added tests for gaussian elimination function. Tests uncovered a bug;
for matricies of dimension greater than 3, the results of
gauss_elimination would always fail because of a problem in the
back-substitution portion of the algorithm. Bug has been fixed.