Extract run_rpc_server to libbinder_common

We have two very similar uses of RunRpcServerCallback; extract them to
a common place, using a closure to encapsulate the specific behavior
for notifiying readiness.

This also neatly encapsulates all the unsafe code, and justification
of it, in one place.

Bug: 187444679
Test: atest ComposTestCase
Change-Id: If23f862748b2f921690820eaa6ee80e4b2829274
diff --git a/binder_common/Android.bp b/binder_common/Android.bp
index 9e6d590..209955d 100644
--- a/binder_common/Android.bp
+++ b/binder_common/Android.bp
@@ -9,6 +9,7 @@
     edition: "2018",
     rustlibs: [
         "libbinder_rs",
+        "libbinder_rpc_unstable_bindgen",
         "liblazy_static",
     ],
     apex_available: [