Introduce core tracing library pieces  (Part 1)

Introduce the core classes and a simple test.
No transport layer yet, will come in next CLs.

Change-Id: Ibf7f67d32532f9eefc991e9d6f82cef9a10adaa8
diff --git a/buildtools/BUILD.gn b/buildtools/BUILD.gn
index 386eb77..627dcb4 100644
--- a/buildtools/BUILD.gn
+++ b/buildtools/BUILD.gn
@@ -35,10 +35,13 @@
     "-Wno-covered-switch-default",
     "-Wno-deprecated",
     "-Wno-global-constructors",
+    "-Wno-inconsistent-missing-override",
     "-Wno-missing-noreturn",
     "-Wno-shift-sign-overflow",
+    "-Wno-sign-conversion",
     "-Wno-undef",
     "-Wno-unknown-warning-option",
+    "-Wno-unused-member-function",
     "-Wno-used-but-marked-unused",
     "-Wno-zero-as-null-pointer-constant",
     "-Wno-weak-vtables",