Cleanup and bug found!

Cleaned and structured a bit of the code in lab2, preparing it for
demonstration. Also found that the Reduce/GCD functions doesn't seem
to be working correctly. A rational of 2/4 should be turned into
1/2 but that doesn't seem to happen.