introduce binderRpcBenchmark

VRRRRRRRRRRRRRRRRRMMMMMMM!!!

Some caveats:
- we are partially benchmarking the scheduler
- this is a microbenchmark

Results running on host (we'll want to watch and tune these on real
devices with core clamping and thermal throttling off):

-------------------------------------------------------------
Benchmark                   Time             CPU   Iterations
-------------------------------------------------------------
BM_getRootObject        45959 ns        39054 ns        18345
BM_pingTransaction      26128 ns        23360 ns        28705
BM_repeatString        394286 ns       200186 ns         3508
BM_repeatBinder         39357 ns        37437 ns        17705

Bug: 182940634
Test: run benchmark on host and on cuttlefish
Change-Id: I5084a00ddf207eaeb803da98587ca04df65add4d
diff --git a/libs/binder/RpcConnection.cpp b/libs/binder/RpcConnection.cpp
index 1bf3d88..c1ed93a 100644
--- a/libs/binder/RpcConnection.cpp
+++ b/libs/binder/RpcConnection.cpp
@@ -61,7 +61,8 @@
 public:
     explicit UnixSocketAddress(const char* path) : mAddr({.sun_family = AF_UNIX}) {
         unsigned int pathLen = strlen(path) + 1;
-        LOG_ALWAYS_FATAL_IF(pathLen > sizeof(mAddr.sun_path), "%u %s", pathLen, path);
+        LOG_ALWAYS_FATAL_IF(pathLen > sizeof(mAddr.sun_path), "Socket path is too long: %u %s",
+                            pathLen, path);
         memcpy(mAddr.sun_path, path, pathLen);
     }
     virtual ~UnixSocketAddress() {}