This CL updates the parallel job library in the au test harness to be more robust.

Specifically, we migrate to using multiprocessing.Process rather than threading.Thread
which allows us to terminate pesky threads in the event a job takes too long.  In
addition it allows us to remove some redundancy that was needed for threading.Thread.

I've also refactored the "waiting" code into the ParallelJob class and made it possible
to test with ctest --cache.

Change-Id: I7b691b676defb9d2140b006b5731874c7a08562c

BUG=chromium-os:11168, chromium-os:13027
TEST=Ran ctest on x86-generic using new CL logic that lets me do so.

Review URL:
5 files changed