Capture output from subprocs during test, and display on failure

Not ready for merge.

@minrk wanted a way to see the logging output from the ipcontroller/ipengine processes used in the parallel tests. This runs a thread to capture their output, and then displays it when a test fails.

I'd like to give synchronisation some more thought here. Min, is there a way that the test process can make the controller include a specific log message, so we can use that as a marker for when the test finishes?