Refactored the layout for tests

Removed the project used for testing, moved the tests around to keep them separate from core logic.

Tests can now be run using `./runtests.py`.