tp: overhaul how registering functions with SQLite works

This radically simplifies adding a new function in preparation for
the new CREATE_FUNCTION SQL function which is being added.

Change-Id: I943c110b6b92427c323d55f12e9e92430309348d
Bug: 190219056
diff --git a/Android.bp b/Android.bp
index b41a10f..e5a2343 100644
--- a/Android.bp
+++ b/Android.bp
@@ -8135,6 +8135,7 @@
     srcs: [
         "src/trace_processor/sqlite/db_sqlite_table.cc",
         "src/trace_processor/sqlite/query_constraints.cc",
+        "src/trace_processor/sqlite/register_function.cc",
         "src/trace_processor/sqlite/span_join_operator_table.cc",
         "src/trace_processor/sqlite/sql_stats_table.cc",
         "src/trace_processor/sqlite/sqlite3_str_split.cc",