Functionality seems to be working nicely in manual run-throughs.  Time to fix broken tests and write some new ones.
Made ProtoTestResult and GreenTestResult both inherit from BaseTestResult so I didn't have to duplicate functions that they both need identically.  This fixes the tests that broke (the subprocess ones).
Better refactored the BaseTestResult class.
One test!
Another test.  Almost there.