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/update_engine.gyp b/update_engine.gyp
index 02728be..84c9159 100644
--- a/update_engine.gyp
+++ b/update_engine.gyp
@@ -46,6 +46,7 @@
       '-Wl,--gc-sections',
     ],
     'defines': [
+      '__CHROMEOS__',
       '_FILE_OFFSET_BITS=64',
       '_POSIX_C_SOURCE=199309L',
       'USE_BINDER=<(USE_binder)',