Add --remote-trybot flag and archiving ability to remote trybots

Disables push_image and uploading symbols for remote trybots.

BUG=chromium-os:26830
TEST=unit tests, local upload testing

Change-Id: I67bc637fe3898e265f3ad2f7eb0006dc2c496bbf
Reviewed-on: https://gerrit.chromium.org/gerrit/17610
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Ryan Cui <rcui@chromium.org>
Tested-by: Ryan Cui <rcui@chromium.org>
diff --git a/scripts/cbuildbot.py b/scripts/cbuildbot.py
index 47b23cc..074d832 100644
--- a/scripts/cbuildbot.py
+++ b/scripts/cbuildbot.py
@@ -751,6 +751,10 @@
                          "default, if this option isn't given but cbuildbot "
                          'is invoked from a repo checkout, cbuildbot will '
                          'use the repo root.')
+  group.add_option('--remote-trybot', dest='remote_trybot', action='store_true',
+                    default=False,
+                    help=('This is running on a remote trybot machine.  '
+                          'Requires --user and --timestamp to be set.'))
   group.add_option('--timeout', action='store', type='int', default=0,
                     help="Specify the maximum amount of time this job can run "
                          "for, at which point the build will be aborted.  If "
@@ -825,6 +829,9 @@
   if len(args) > 1 and not options.remote:
     cros_lib.Die('Multiple configs not supported if not running with --remote.')
 
+  if options.buildbot and options.remote_trybot:
+    cros_lib.Die('--buildbot and --remote-trybot cannot be used together.')
+
   # Record whether --debug was set explicitly vs. it was inferred.
   options.debug_forced = False
   if options.debug: