cbuildbot: split debug symbols into a dedicated stage

This pulls all the debug symbol logic out of the Archive stage and into
a stage all by itself.  With the semi-recent changes, these tools have
gotten a bit verbose, so we want to separate them out.

In the future, we'll do more retooling here which will require more code
which will be nicer if it's all in a stage by itself.

This is all mechanical at this point.

BUG=None
TEST=`./buildbot/run_tests` passes

Change-Id: Iff0a04c39fc9c028abed30927a03aed6b58de0a3
Reviewed-on: https://chromium-review.googlesource.com/176249
Reviewed-by: Matt Tennant <mtennant@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/cbuildbot.py b/scripts/cbuildbot.py
index 4f2bf08..7185d58 100644
--- a/scripts/cbuildbot.py
+++ b/scripts/cbuildbot.py
@@ -429,6 +429,11 @@
       self._RunStage(stages.UnitTestStage, board, config=config)
       return
 
+    # While this stage list is run in parallel, the order here dictates the
+    # order that things will be shown in the log.  So group things together
+    # that make sense when read in order.  Also keep in mind that, since we
+    # gather output manually, early slow stages will prevent any output from
+    # later stages showing up until it finishes.
     stage_list = []
     if self.options.chrome_sdk and self.build_config['chrome_sdk']:
       stage_list.append([stages.ChromeSDKStage, board, archive_stage])
@@ -437,7 +442,8 @@
         [stages.SignerTestStage, board, archive_stage],
         [stages.UnitTestStage, board],
         [stages.UploadPrebuiltsStage, board, archive_stage],
-        [stages.DevInstallerPrebuiltsStage, board, archive_stage]
+        [stages.DevInstallerPrebuiltsStage, board, archive_stage],
+        [stages.DebugSymbolsStage, board, archive_stage],
     ]
 
     # We can not run hw tests without archiving the payloads.