trace_processor: make StringPool::Id a POD

To distinguish between the overloads of uint32_t and StringId in the
constructor of Column, we need the types to be different according to
C++.

Make StringPool::Id a wrapper of uint32_t instead of being an alias.
This should be a no-op interms of performance but makes the types
different. As a bonus, it's now a lot harder to mess up insert methods
and we get explicit null checking vs implicit null checks which have
been done until now.

Change-Id: I963c4ddbba22dc28f7fed08fddfd4a76755b754d
Bug: 135177627
diff --git a/src/trace_processor/trace_storage.h b/src/trace_processor/trace_storage.h
index dad9744..1b7570b 100644
--- a/src/trace_processor/trace_storage.h
+++ b/src/trace_processor/trace_storage.h
@@ -51,6 +51,7 @@
 
 // StringId is an offset into |string_pool_|.
 using StringId = StringPool::Id;
+static const StringId kNullStringId = StringId(0);
 
 // Identifiers for all the tables in the database.
 enum TableId : uint8_t {