trace_processor: migrate metadata to macro tables

While doing this, we can also refactor a bunch of code in TraceStorage
into a dedicated metadata tracker.

Context: go/perfetto-tp-refactor
Bug: 135177627
Change-Id: Id612bc66ed62fd39b5dd156d7ab87e41d4fa064c
diff --git a/Android.bp b/Android.bp
index c29530e..17b6886 100644
--- a/Android.bp
+++ b/Android.bp
@@ -5724,7 +5724,6 @@
     "src/trace_processor/args_table.cc",
     "src/trace_processor/filtered_row_index.cc",
     "src/trace_processor/gfp_flags.cc",
-    "src/trace_processor/metadata_table.cc",
     "src/trace_processor/process_table.cc",
     "src/trace_processor/raw_table.cc",
     "src/trace_processor/read_trace.cc",
@@ -5841,6 +5840,7 @@
     "src/trace_processor/importers/proto/track_event_module.cc",
     "src/trace_processor/importers/proto/track_event_parser.cc",
     "src/trace_processor/importers/proto/track_event_tokenizer.cc",
+    "src/trace_processor/metadata_tracker.cc",
     "src/trace_processor/process_tracker.cc",
     "src/trace_processor/slice_tracker.cc",
     "src/trace_processor/stack_profile_tracker.cc",
@@ -5883,7 +5883,6 @@
     "src/trace_processor/importers/proto/heap_graph_walker_unittest.cc",
     "src/trace_processor/importers/proto/proto_trace_parser_unittest.cc",
     "src/trace_processor/importers/systrace/systrace_parser_unittest.cc",
-    "src/trace_processor/metadata_table_unittest.cc",
     "src/trace_processor/process_table_unittest.cc",
     "src/trace_processor/process_tracker_unittest.cc",
     "src/trace_processor/protozero_to_text_unittests.cc",