Gauss Jordan Elimination

Added a basic GJ Elimination to *matrix.js* in master 

Things to further discuss:

- The code it was translated from essentially worked as a boolean and determined if the matrix is reduce-able, should another method be added to do so?

- I'm also doing to abstract version of this and wanted to confirm that we are applying the elimination and modifying the matrix in place. Correct?

- Should there be any changes in the function name? `GaussJordanElimination()` and `rowReduce()`?