Added a TestResult class to clean up result passing
Start breaking out and refactoring messages from the Master
Separated out the runner messages, and most of the duplicate worker ones
Split up remaining worker messages
Clean up the worker implementation
Further cleanups and refactorings