autoupdater: Add cros_host auto-update functions into auto-update lib.

This CL adds cros_host auto-update functions into the auto-update lib in
chromite. The original cros_host auto-update functions' logics come from
autotest/files/client/common_lib/cros/autoupdater.py and
autotest/server/hosts/cros_host.py.

The main added functions includes:
1. pre-setup/post-check for stateful/rootfs update and whole update
process.
2. retry for transfer devserver/stateful/rootfs update packages.
3. setting several different logging strategies.

BUG=chromium:608583
TEST=Locally ran cros-flash to make sure cros-flash still work.
Locally ran 'ds.auto_update([dut], [image_path])' for stateful update,
rootfs update, and both.
Locally ran 'repair' & 'provision test' on a local autotest.
Ran unittest.

Changes to be committed:
       modified:   cli/flash.py
       modified:   cli/flash_unittest.py
       new file:   lib/auto_update_util.py
       new file:   lib/auto_update_util_unittest
       new file:   lib/auto_update_util_unittest.py
       modified:   lib/auto_updater.py
       modified:   lib/auto_updater_unittest.py
       modified:   lib/cros_build_lib.py
       modified:   lib/cros_build_lib_unittest.py
       modified:   lib/remote_access.py
       modified:   lib/retry_util.py

Change-Id: I983d7365efe2cb27a580aa3e93148a8a8c68c3f0
Reviewed-on: https://chromium-review.googlesource.com/348381
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
diff --git a/cli/flash_unittest.py b/cli/flash_unittest.py
index 2428a0b..3b39f42 100644
--- a/cli/flash_unittest.py
+++ b/cli/flash_unittest.py
@@ -24,7 +24,7 @@
 
 class RemoteDeviceUpdaterMock(partial_mock.PartialCmdMock):
   """Mock out RemoteDeviceUpdater."""
-  TARGET = 'chromite.lib.auto_updater.ChromiumOSUpdater'
+  TARGET = 'chromite.lib.auto_updater.ChromiumOSFlashUpdater'
   ATTRS = ('UpdateStateful', 'UpdateRootfs', 'SetupRootfsUpdate',
            'RebootAndVerify')