Build update_engine_sideload.

Add a new "sideload" executable target that applies an update payload
directly using the UpdateAttempterAndroid.

This initial CL buils a dynamically linked program that's targeted to
run in the system image for now, but will later be transformed into a
static binary to run from the recovery environment.

Bug: 27178350
TEST=Applied a payload directly on a device using:
`update_engine_sideload --payload=file://foo/bar ...`

(cherry picked from commit 03a4de7dc77b058987fc0670f4f67ba10ff31bc8)

Change-Id: Idbde52fff9ace53c03f34103664f51b9db45027d
diff --git a/daemon_state_android.h b/daemon_state_android.h
index 69180bc..fc8be19 100644
--- a/daemon_state_android.h
+++ b/daemon_state_android.h
@@ -43,7 +43,7 @@
   void AddObserver(ServiceObserverInterface* observer) override;
   void RemoveObserver(ServiceObserverInterface* observer) override;
 
-  const std::set<ServiceObserverInterface*>& service_observers() {
+  const std::set<ServiceObserverInterface*>& service_observers() override {
     return service_observers_;
   }