Reworked the unit test and build system. Tests are now in the tests folder, and the frame work is in place to group related tests into individual files.