Rectangular Matrices

Changed the way matrices are created to allow for rectangular matrices,
and restrict the trace and det functions to square matrices. Print has
been changed to allow for prettier rectangular output, and row
operations function as normal with rectangular matrices.