traced_probes: Add ProcessStatsDataSource

ProcessStatsDataSource should be able to write metadata for processes
which are created while a trace is running. To do this it needs to live
as long as the trace does so this change creates a
ProcessStatsDataSource to mirror the Sink and InodeFileMapDataSource
that exist for the ftrace and inode datasources.

This also pulls ProcessStatsDataSource and associated logic into its
own class: ProbesProducer is getting too big. Finally it adds the
boilerplate for testing ProcessStatsDataSource - but no actual tests.
There is some additional work required to add tests (e.g. creating a
fake TraceWriter impl) and that shouldn't block progress on
ProcessStatsDataSource.

Bug: 73058765
Change-Id: I2bf68166711289df081edd4ee3375b6fd77f4bb0
diff --git a/BUILD.gn b/BUILD.gn
index 73b166b..92cb14f 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -66,6 +66,7 @@
   if (is_linux || is_android) {
     deps += [
       "src/ftrace_reader:ftrace_reader_unittests",
+      "src/traced/probes:probes_unittests",
       "tools/ftrace_proto_gen:ftrace_proto_gen_unittests",
     ]
   }