Removed mirror_matrix function, because I'm going to put it into the SubsMat class. Also returned PHAT and SLIM to alpha-order in the available_matrices,
because the unit test output will need to be altered regradless of where they are positioned.
updated the SubsMat unit test output to include the new PHAT and SLIM matrices.
The SubsMat Class will now handle non-synonymous matrices, as well as the more standard form. I believe all prior behavior has been retained (unit test is
fine if you don't count the new matrices I added). Specific changes include: New parameter (non_synon=0) added to the constructor method; New method
(make_full_mat()) added, to convert the main object matrix from a half-matrix into a full-matrix, and is called from within the constructor when non_synon
!= 0 (instead of _full_to_half); modified print_full_mat() so it doesn't overwrite reverse key values if they are already set; modified __str__() to output
full matrix if self.non_synon == Ture, and to output the half matrix letters on the bottom (the normal behavior), but to print the letters on the top of a
full matrix (this makes it easier to look at, but I do worry about it not being consistent); modified the build_later cases in the constructor to take into
consideration the non_synon parameter.