trace_processor: factor out metrics code into its own file

This prevents trace processor impl from filling up with code specific to
metrics. This also allows us to put everything to do with metrics into
its own namespace.

Moreover, add a sql_metrics namespace for the autogenerated SQL metrics
to ensure that they don't pollute the root namespace.

Context: go/perfetto-metrics
Bug: 129747127
Change-Id: I18b3ce3ca390b3599be6128d8a606a2727634b00
diff --git a/Android.bp b/Android.bp
index 515e736..b8eb1ad 100644
--- a/Android.bp
+++ b/Android.bp
@@ -3215,6 +3215,7 @@
     "src/trace_processor/fuchsia_trace_tokenizer.cc",
     "src/trace_processor/fuchsia_trace_utils.cc",
     "src/trace_processor/instants_table.cc",
+    "src/trace_processor/metrics/metrics.cc",
     "src/trace_processor/process_table.cc",
     "src/trace_processor/process_tracker.cc",
     "src/trace_processor/proto_trace_parser.cc",