Project Resturcturing

This commit restructures the project into a more sane setup. In addition, this also provides the code necessary to connect the existing tests in the setup.py build descriptor via test suites.