Support CompOS Key Service in a VM

Add the ability to start the service in a VM, and to then communicate
with it from the host via RPC Binder. Update command-line syntax.

Also revert my recent client naming change, since one tool that can
handle both host & VM seems better than two different ones.

Bug: 193603140
Test: Manual: start service in VM, connect to it, generate & verify keys.
Change-Id: I3cdb25395537e29bbfaa957eeac0c16ba4de93de
diff --git a/compos/Android.bp b/compos/Android.bp
index ba270b8..9428210 100644
--- a/compos/Android.bp
+++ b/compos/Android.bp
@@ -67,8 +67,8 @@
 }
 
 rust_binary {
-    name: "compos_key_host",
-    srcs: ["src/compos_key_host_main.rs"],
+    name: "compos_key_main",
+    srcs: ["src/compos_key_main.rs"],
     edition: "2018",
     rustlibs: [
         "compos_aidl_interface-rust",
@@ -76,10 +76,16 @@
         "android.hardware.security.keymint-V1-rust",
         "libandroid_logger",
         "libanyhow",
+        "libbinder_rs",
+        "libbinder_rpc_unstable_bindgen",
+        "libclap",
         "liblog_rust",
         "libring",
         "libscopeguard",
     ],
     prefer_rlib: true,
+    shared_libs: [
+        "libbinder_rpc_unstable",
+    ],
     apex_available: ["com.android.compos"],
 }