Merge pull request #185 from Crowdtilt/test_framework

Clean up test framework and simple rewrite to ensure all current tests pass