New protocol for errors, includes handling errback on deferred responses
Much less verbose tests
No need to wrap the Timeout::Error in a RuntimeError