Refactoring file structure to some semblance of organization
Typo in Makefile was preventing Test sources from being properly built
Refactor unit testing main() to separate source file; will provide the ability going forward to be more modular about builds, as well as enabling separate testing and release builds