[service-vm] Deserialize CBOR-encoded CSR byte array into struct

This CL deserializes the CBOR-encoded CSR provided as a param for
VM attestation into a `Csr` struct.

It also extracts the CSR/attestation key generation function from
microdroid into a standalone library so that we can reuse it in
e2e tests.

The new test target has been added to the busytown config at
cl/581170242.

Test: atest rialto_test
Bug: 309440321
Change-Id: Idbfadd0418822bdf46d6764b9db484f4865aa267
diff --git a/microdroid_manager/Android.bp b/microdroid_manager/Android.bp
index 93f49ef..8481edf 100644
--- a/microdroid_manager/Android.bp
+++ b/microdroid_manager/Android.bp
@@ -23,6 +23,7 @@
         "libbinder_rs",
         "libbyteorder",
         "libcap_rust",
+        "libclient_vm_csr",
         "libciborium",
         "libcoset",
         "libdiced_open_dice",
@@ -46,12 +47,10 @@
         "libserde",
         "libserde_cbor",
         "libserde_json",
-        "libservice_vm_comm",
         "libthiserror",
         "libuuid",
         "libvsock",
         "librand",
-        "libzeroize",
     ],
     init_rc: ["microdroid_manager.rc"],
     multilib: {
@@ -72,7 +71,6 @@
     defaults: ["microdroid_manager_defaults"],
     test_suites: ["general-tests"],
     rustlibs: [
-        "libhwtrust",
         "libtempfile",
     ],
     multilib: {