tp: refactor TypedColumn to increase code reuse and documentation

This CL restructures TypedColumn to remove duplicate code in various
places varying only by the type. We also add a lot of documentation
describing exactly the new structure.

Bug: 148270825
Change-Id: Ie12145ed2da4d10ecad626d6e93fe02723869210
diff --git a/BUILD b/BUILD
index bbad73c..1d891cc 100644
--- a/BUILD
+++ b/BUILD
@@ -685,6 +685,7 @@
         "src/trace_processor/db/table.cc",
         "src/trace_processor/db/table.h",
         "src/trace_processor/db/typed_column.h",
+        "src/trace_processor/db/typed_column_internal.h",
     ],
 )