log the command that failed on ProtocolInvalidError so you can see which host has problems
rename "process" to "process_file" as "process" also meant other things in other contexts.  rename "ready" to "next_file" to make way for the concept of sub-file readiness.  rename "example count" to "test count" as "examples" is an rspec-specific concept.
fix an incorrectly named variable, worker_channel was sometimes set to the server_channel
fix abstraction failure: the framework-specific worker result text parsing should be in the framework-specific worker classes
standardise debug logging of master <-> runner <-> worker activity a bit more - log from the master rather than making an extra network trip to send the log