cros: Support update-over-cellular for mash

For go/mustash code in chrome browser and code in ash run in separate
processes, so code in chrome must use mojo interfaces to send data to
ash.

Migrate update-over-cellular code from SystemTrayDelegateChromeOS (where
it calls directly into ash) to SystemTrayClient (which uses mojo).

Eliminate some layers of observers in ash.

Change FakeUpdateEngineClient to support testing cellular updates.

Add test coverage.

BUG=746574, 745975
TEST=SystemTrayClientTest.CellularUpdateTrayIcon

Change-Id: I9a908e08011fed08204ba7fdea31a27d00a7e552
Reviewed-on: https://chromium-review.googlesource.com/583558
Reviewed-by: Daniel Cheng <[email protected]>
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: James Cook <[email protected]>
Reviewed-by: Michael Wasserman <[email protected]>
Reviewed-by: Steven Bennetts <[email protected]>
Commit-Queue: Weidong Guo <[email protected]>
Cr-Commit-Position: refs/heads/master@{#490487}
diff --git a/chrome/browser/ui/webui/settings/about_handler.h b/chrome/browser/ui/webui/settings/about_handler.h
index 3c657751..f213735e 100644
--- a/chrome/browser/ui/webui/settings/about_handler.h
+++ b/chrome/browser/ui/webui/settings/about_handler.h
@@ -107,12 +107,12 @@
   void HandleRequestUpdate(const base::ListValue* args);
 
   // Checks for and applies update over cellular connection, triggered by JS.
-  // Target version and size should be included in the list of arguments.
+  // Update version and size should be included in the list of arguments.
   void HandleRequestUpdateOverCellular(const base::ListValue* args);
 
-  // Checks for and applies update over cellular connection to the given target.
-  void RequestUpdateOverCellular(const std::string& target_version,
-                                 int64_t target_size);
+  // Checks for and applies update over cellular connection.
+  void RequestUpdateOverCellular(const std::string& update_version,
+                                 int64_t update_size);
 
 #endif