devserver: pass a cache_user to initialize gsutil.

This CL passes an argument cache_user in gsutil initialization. This
'cache_user' is used to create cache directory for gsutil.

BUG=chromium:698304
TEST=emerge chromite to local moblab DUT, call devserver to provision
it. Ran cros flash ssh://.

Change-Id: Ia5789ce18ac4d87e74ccf4f0bb9db7ec535cdccf
Reviewed-on: https://chromium-review.googlesource.com/457861
Commit-Ready: Xixuan Wu <xixuan@chromium.org>
Tested-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
(cherry picked from commit 178263c26da66538203e47a28a102097a7cf2929)
Reviewed-on: https://chromium-review.googlesource.com/478051
Reviewed-by: Jinsong Mu <jinsong@google.com>
Tested-by: Keith Haddow <haddowk@chromium.org>
diff --git a/downloader.py b/downloader.py
index 37dd54b..f3ff144 100755
--- a/downloader.py
+++ b/downloader.py
@@ -308,7 +308,10 @@
 
     self._archive_url = archive_url
 
-    self._ctx = gs.GSContext() if gs else None
+    if common_util.IsRunningOnMoblab():
+      self._ctx = gs.GSContext(cache_user='chronos') if gs else None
+    else:
+      self._ctx = gs.GSContext() if gs else None
 
   def Wait(self, name, is_regex_name, timeout):
     """Waits for artifact to exist and returns the appropriate names.