Merge this to add unittest support

Provides suite and individual test execution through the GUI. Limited unit test coverage included.