It's possible that in pathological cases, the worker process might
hang around even after it has said that it's finished. When that
happens, we want to kill it quickly so that we can continue mirroring
other branches.

def
test_mirrorFailedDoesNotResetTimeout(self):

Receiving 'mirrorFailed' doesn't reset the timeout.

mirrorFailed doesn't reset the timeout for the same reasons as
mirrorSucceeded.

def
test_terminatesWithError(self):

When the child process terminates with an unexpected error, raise
an error that includes the contents of stderr and the exit condition.

def
test_stderrFailsProcess(self):

If the process prints to stderr, then the Deferred fires an
errback, even if it terminated successfully.