Test framework for UI + SQL tests

@nockertsb please review
Eventually I'd like to add code to take a screenshot whenever there is a test failure. Not sure yet where that would need to happen. The only purpose it serves right now is to limit the type of classes the `RobotLoader` can be used with.

This whole pattern was motivated by https://speakerdeck.com/dnkoutso/automated-testing-at-square-droidcon-nyc-2014