Implement update_engine weave commands

The new WeaveServiceInterface abstracs the registration and interaction
with weave whenever present. The compilation and usage of weave is
based on the BRILLO_USE_WEAVE flag.

When enabled, update_engine registers the "_updater" component with
methods to force-check for an update and change channels.

Bug: 24386758
Bug: 24386768
Test: Deployed on edison, weave commands and state available online.

Change-Id: Ic49111772e123b8a2b1971da92fe65785f186ccd
diff --git a/update_status_utils.h b/update_status_utils.h
index 30ae53b..9d85144 100644
--- a/update_status_utils.h
+++ b/update_status_utils.h
@@ -25,6 +25,10 @@
 
 const char* UpdateStatusToString(const update_engine::UpdateStatus& status);
 
+// Convert the UpdateStatus |status| to the string reported in the weave status.
+const char* UpdateStatusToWeaveStatus(
+    const update_engine::UpdateStatus& status);
+
 bool StringToUpdateStatus(const std::string& update_status_as_string,
                           update_engine::UpdateStatus* status);