Test updates

I'm sure there will be a lot of back and forth on this one, but a PR is a good way to review. This should cover:

* an initial interface for reporters 
* inception testing for `Suite`, `Test`, all interfaces and all reporters