Fix xctool run-tests hanging when run with parallelization

Fairly certain that libdispatch's dispatch_io_* stuff which is used by
NSTask (and which I've also tried to use directly) is buggy when used in
a heavily multithreaded context with pipes.

Rewrote `LaunchTaskAndCaptureOutput` using poll/read instead. This is
acceptable as every job was running synchronously in its own thread
anyway.