Use chromite.lib.parallel instead of ParallelTestJob.

This CL fixes a deadlock in crostestutils, while also simplifying the code
and reusing logic from chromite.

Currently, the ParallelTestJob class uses the following pattern:
  1) Launch a bunch of processes which put stuff on queues.
  2) Wait for them to finish.
  3) Once they're finished, grab stuff from the queues.

The big problem with the above pattern is that it can lead to a deadlock
if the data added to the queue is bigger than the size of the buffer.
Fortunately, this can be easily fixed by just updating these tools to use
chromite.lib.parallel instead, which grabs output from queues before joining
the process, rather than after.

BUG=chromium-os:37519, chromium-os:14274
CQ-DEPEND=CL:40289
TEST=Unit tests, trybot runs.

Change-Id: Icc7c078795718c9d031fdee101f503daaa9198d2
Reviewed-on: https://gerrit.chromium.org/gerrit/40290
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: David James <davidjames@chromium.org>
Commit-Queue: David James <davidjames@chromium.org>
diff --git a/lib/constants.py b/lib/constants.py
index c6ad342..10de5d8 100644
--- a/lib/constants.py
+++ b/lib/constants.py
@@ -12,3 +12,5 @@
     os.path.dirname(_TEST_LIB_PATH), '..', '..', '..', '..')
 
 CROSUTILS_LIB_DIR = os.path.join(SOURCE_ROOT, 'src/scripts/lib')
+
+MAX_TIMEOUT_SECONDS = 2400