Implement Android UE daemon using brillo::Daemon.

The setup logic for Brillo and Android devices is very similar despite
the differences in the daemon logic and exposed service interface.
This patch reuses the brillo::Daemon derived class and the main()
function from Brillo to implement the daemon and service setup in
Android as well.

In addition, the Chromium OS build now defines the __CHROMEOS__ macro
to make the code behave the same way as in the Brillo case.

Bug: 25631949
TEST=`mmma system/update_engine` on edison-eng and aosp_arm-eng

Change-Id: I0f9690264e0822ef7e71318c73c2f16eda99e07c
diff --git a/real_system_state.h b/real_system_state.h
index a1fe8c6..f65f706 100644
--- a/real_system_state.h
+++ b/real_system_state.h
@@ -55,6 +55,10 @@
   // separately from construction. Returns |true| on success.
   bool Initialize();
 
+  // Start the periodic update attempts. Must be called at the beginning of the
+  // program to start the periodic update check process.
+  void StartUpdater();
+
   inline void set_device_policy(
       const policy::DevicePolicy* device_policy) override {
     device_policy_ = device_policy;