Updates for vm_cicerone for migration compatibility

vm_cicerone is the new daemon in Chrome OS that is the result of splitting
vm_concierge into 2 pieces. cicerone will do all of the communication
with the container. As we cannot update Chrome and Chrome OS in
lockstep, we need to stage the changes properly for this.

This change adds vm_cicerone to the 2 D-Bus services that it will be
invoking in Chrome. It also updates concierge_client so that it listens
for the ContainerStarted signal from both concierge and cicerone since
cicerone is not able to send a concierge signal.

Once cicerone is complete then we will update Chrome to use cicerone
instead of concierge where relevant and remove the crosvm user from the
2 D-Bus configs and remove the usage of the concierge ContainerStarted
signal.

Bug: 842845
Test: Verified terminal startup, open url and vm app updates
Change-Id: I22f7d2dfd62330c53824452fc659a663f1375b0f
Reviewed-on: https://chromium-review.googlesource.com/1069772
Commit-Queue: Jeffrey Kardatzke <[email protected]>
Reviewed-by: Dan Erat <[email protected]>
Reviewed-by: Ryo Hashimoto <[email protected]>
Reviewed-by: Nicholas Verne <[email protected]>
Cr-Commit-Position: refs/heads/master@{#563330}
diff --git a/chromeos/BUILD.gn b/chromeos/BUILD.gn
index b5f23578..f46d9c2 100644
--- a/chromeos/BUILD.gn
+++ b/chromeos/BUILD.gn
@@ -25,6 +25,7 @@
     ":attestation_proto",
     ":authpolicy_proto",
     ":biod_proto",
+    ":cicerone_proto",
     ":concierge_proto",
     ":cryptohome_proto",
     ":login_manager_proto",
@@ -160,6 +161,8 @@
     "dbus/blocking_method_caller.h",
     "dbus/cec_service_client.cc",
     "dbus/cec_service_client.h",
+    "dbus/cicerone_client.cc",
+    "dbus/cicerone_client.h",
     "dbus/concierge_client.cc",
     "dbus/concierge_client.h",
     "dbus/cras_audio_client.cc",
@@ -193,6 +196,8 @@
     "dbus/fake_auth_policy_client.h",
     "dbus/fake_cec_service_client.cc",
     "dbus/fake_cec_service_client.h",
+    "dbus/fake_cicerone_client.cc",
+    "dbus/fake_cicerone_client.h",
     "dbus/fake_concierge_client.cc",
     "dbus/fake_concierge_client.h",
     "dbus/fake_cras_audio_client.cc",
@@ -939,6 +944,14 @@
   proto_out_dir = "chromeos/account_manager"
 }
 
+proto_library("cicerone_proto") {
+  sources = [
+    "//third_party/cros_system_api/dbus/vm_cicerone/cicerone_service.proto",
+  ]
+
+  proto_out_dir = "chromeos/dbus/cicerone"
+}
+
 proto_library("concierge_proto") {
   sources = [
     "//third_party/cros_system_api/dbus/vm_concierge/service.proto",