servicedispatcher: pause until killed.

Requires a signal to end servicedispatcher, including
closing the shell, manual interrupting with ctrl+c, etc.

Also update tests to reflect this.

Test: binderLibTest
Bug: 182914638

Change-Id: I826cddaee6dae9d569788dc1c31fa5fea1561653
diff --git a/libs/binder/servicedispatcher.cpp b/libs/binder/servicedispatcher.cpp
index a2fa842..35d69aa 100644
--- a/libs/binder/servicedispatcher.cpp
+++ b/libs/binder/servicedispatcher.cpp
@@ -82,7 +82,11 @@
     LOG(INFO) << "Finish setting up RPC on service " << name << " on port" << port;
 
     std::cout << port << std::endl;
-    return EX_OK;
+
+    TEMP_FAILURE_RETRY(pause());
+
+    PLOG(FATAL) << "TEMP_FAILURE_RETRY(pause()) exits; this should not happen!";
+    __builtin_unreachable();
 }
 
 // Log to logd. For warning and more severe messages, also log to stderr.