tp: add batch trace processor

This CL adds the batch trace processor: a tool which can run SQL queries
over >1 trace in parallel. The advantage it has over just running
trace processor using GNU parallel is two fold:
* You can issue multiple queries back to back without reparsing the trace
  which massively reduces iteration time
* There exist some basic commands (e.g. histogram, vhistogram, count)
  which aggregate the result of queries.

There is also a mode where you can just specify a query file which will
run across all traces and return the result as a CSV with an extra
column of the file path.

Change-Id: Idc417002e62ceefb8b44d120b3a0a2e837d78f49
diff --git a/BUILD b/BUILD
index a1a1271..3a62b5b 100644
--- a/BUILD
+++ b/BUILD
@@ -4184,3 +4184,14 @@
     python_version = "PY3",
     legacy_create_init = 0,
 )
+
+perfetto_py_binary(
+    name = "batch_trace_processor_shell",
+    srcs = ["tools/batch_trace_processor/main.py"],
+    main = "tools/batch_trace_processor/main.py",
+    deps = [
+        ":trace_processor_py",
+    ] + PERFETTO_CONFIG.deps.pandas_py,
+    python_version = "PY3",
+    legacy_create_init = 0,
+)