CopyToDevice: require caller to select a mode.

As the fallback behavior is a bit hard to test, require the caller to
declare a preference for the mode parameter. Also fix all callers
with the previous default behavior of 'rsync'.

BUG=chromium:703259
TEST=None.

Change-Id: I81280cf251ea873abc8c74b7cb8973e826597abc
Reviewed-on: https://chromium-review.googlesource.com/461276
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
diff --git a/scripts/deploy_chrome.py b/scripts/deploy_chrome.py
index fab8791..e5fef47 100644
--- a/scripts/deploy_chrome.py
+++ b/scripts/deploy_chrome.py
@@ -245,6 +245,8 @@
     logging.info('Copying Chrome to %s on device...', self.options.target_dir)
     # Show the output (status) for this command.
     dest_path = _CHROME_DIR
+    # CopyToDevice will fall back to scp if rsync is corrupted on stateful.
+    # This does not work for deploy.
     if not self.device.HasRsync():
       raise DeployFailure(
           'rsync is not found on the device.\n'