Initialize DBus in CreateInstance

We now expect the bus to be ready to go as soon as CreateInstance is
finished. The downside is that CreateInstance can now fail when the bus
isn't available, so we must handle nullptr returns.

Change-Id: I1e8d20f8d85d93e7e8b5e93ee1e5ba6043a347c4
Test: Verified commands continue to work
Bug: 26233663
diff --git a/client_library/client.cc b/client_library/client.cc
index d6e7382..f4a24cf 100644
--- a/client_library/client.cc
+++ b/client_library/client.cc
@@ -25,7 +25,14 @@
 namespace update_engine {
 
 std::unique_ptr<UpdateEngineClient> UpdateEngineClient::CreateInstance() {
-  return unique_ptr<UpdateEngineClient>{new internal::UpdateEngineClientImpl{}};
+  auto update_engine_client_impl = new internal::UpdateEngineClientImpl{};
+  auto ret = unique_ptr<UpdateEngineClient>{update_engine_client_impl};
+
+  if (!update_engine_client_impl->Init()) {
+      ret.reset();
+  }
+
+  return ret;
 }
 
 }  // namespace update_engine