Enable async hw testing of the pyauto_perf suite.

I re-use the PaladinHWTesting logic to generalize to an Asynchronous
HW testing step. I also restore the PaladinHWTesting's original
logic to run tests with a lower timeout as the async logic isn't being
used in produciton as it overloads the lab but makes it easier for
someone using --hwtest + remote trybot to try a CQ change with hw
testing.

BUG=chromium-os:32663
TEST=Unittests + Pylint

Change-Id: Iea87a20ff9994f9b3cd89a79dc48e27e0cfa5623
Reviewed-on: https://gerrit.chromium.org/gerrit/27927
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Yu-Ju Hong <yjhong@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
diff --git a/scripts/cbuildbot.py b/scripts/cbuildbot.py
index eb331f5..940e63b 100644
--- a/scripts/cbuildbot.py
+++ b/scripts/cbuildbot.py
@@ -388,6 +388,10 @@
         else:
           stage_list.append([stages.HWTestStage, board, archive_stage, suite])
 
+      for suite in config['async_hw_tests']:
+        stage_list.append([stages.ASyncHWTestStage, board, archive_stage,
+                           suite])
+
     steps = [self._GetStageInstance(*x, config=config).Run for x in stage_list]
     background.RunParallelSteps(steps + [archive_stage.Run])