Project total refactoring

Added tests and test framework, new build system