base: introduce Subprocess

Introduce a class to handle fork() and
fork() + exec. See comment in the header for
usage and caveats.

Bug: 141917389
Change-Id: I3deb0245dac378eba4cd007d4ebd303f431ae45b
diff --git a/Android.bp b/Android.bp
index 7c7278f..af169ee 100644
--- a/Android.bp
+++ b/Android.bp
@@ -5526,6 +5526,7 @@
     "src/base/string_splitter.cc",
     "src/base/string_utils.cc",
     "src/base/string_view.cc",
+    "src/base/subprocess.cc",
     "src/base/temp_file.cc",
     "src/base/thread_checker.cc",
     "src/base/thread_task_runner.cc",
@@ -5563,6 +5564,7 @@
     "src/base/string_utils_unittest.cc",
     "src/base/string_view_unittest.cc",
     "src/base/string_writer_unittest.cc",
+    "src/base/subprocess_unittest.cc",
     "src/base/task_runner_unittest.cc",
     "src/base/temp_file_unittest.cc",
     "src/base/thread_checker_unittest.cc",