IPC plumbing for TraceWriter and service-side Consumer port.

This CL fixes most of the IPC plumbing after TraceWriter and
related methods are landed. This mainly reduces the need of
keeping .proto and core objects in sync. Also exposes the
service-side implementation of the Consumer port.
Finally gets rid of the ObserverForTesting, which at the end
turned out to be unneeded.

Bug: 70284518
Bug: 68854243
Change-Id: I5e9156fee2945dc8bd42d7016046afb7da643411
diff --git a/Android.bp b/Android.bp
index c5411f1..024a3e5 100644
--- a/Android.bp
+++ b/Android.bp
@@ -443,6 +443,7 @@
     "src/tracing/ipc/posix_shared_memory.cc",
     "src/tracing/ipc/posix_shared_memory_unittest.cc",
     "src/tracing/ipc/producer/producer_ipc_client_impl.cc",
+    "src/tracing/ipc/service/consumer_ipc_service.cc",
     "src/tracing/ipc/service/producer_ipc_service.cc",
     "src/tracing/ipc/service/service_ipc_host_impl.cc",
     "src/tracing/test/aligned_buffer_test.cc",