binder: Add execute() to host utils.

Add utility for executing commands.

This function assumes that, when a given predicate
|end| finishes, the child process does not emit any other
messages.

If this is not the case, caller to execute()
must handle these I/O in the pipes in the returned
CommandResult object. Otherwise the child program may
hang on I/O.

Test: binderUtilsTest
Bug: 190233850

Change-Id: Ib8be5db140af04a286ccbb2283cb032390aff5ac
diff --git a/libs/binder/TEST_MAPPING b/libs/binder/TEST_MAPPING
index b58d919..59f0ba6 100644
--- a/libs/binder/TEST_MAPPING
+++ b/libs/binder/TEST_MAPPING
@@ -31,6 +31,9 @@
       "name": "binderStabilityTest"
     },
     {
+      "name": "binderUtilsTest"
+    },
+    {
       "name": "libbinder_ndk_unit_test"
     },
     {