Teach the devserver to stage factory images.

Changes to the devserver that allow us to stage images
from the factory branch.

TEST=Staged factory images and reimaged a device.
BUG=chromium:252503

Change-Id: I51f710996e63b4a8d3a772688cdc5643a423b511
Reviewed-on: https://gerrit.chromium.org/gerrit/64034
Commit-Queue: Prashanth Balasubramanian <beeps@chromium.org>
Reviewed-by: Prashanth Balasubramanian <beeps@chromium.org>
Tested-by: Prashanth Balasubramanian <beeps@chromium.org>
diff --git a/build_artifact.py b/build_artifact.py
index a6a0c1c..2993dbe 100755
--- a/build_artifact.py
+++ b/build_artifact.py
@@ -28,6 +28,7 @@
 AUTOTEST_FILE = 'autotest.tar'
 AUTOTEST_COMPRESSED_FILE = 'autotest.tar.bz2'
 DEBUG_SYMBOLS_FILE = 'debug.tgz'
+FACTORY_FILE = 'ChromeOS-factory.*zip'
 FIRMWARE_FILE = 'firmware_from_source.tar.bz2'
 IMAGE_FILE = 'image.zip'
 TEST_SUITES_FILE = 'test_suites.tar.bz2'
@@ -386,6 +387,10 @@
   artifact_info.SYMBOLS:
       ImplDescription(TarballBuildArtifact, DEBUG_SYMBOLS_FILE,
                       ['debug/breakpad']),
+
+  artifact_info.FACTORY_IMAGE:
+      ImplDescription(ZipfileBuildArtifact, FACTORY_FILE,
+                      [devserver_constants.FACTORY_IMAGE_FILE])
 }
 
 # Add all the paygen_au artifacts in one go.