Switch magic timestamp channel to RemoteMessage

In order to track reboots and such, we really need to communicate more
information from the message_bridge to the logger.  It is a shame to
have to modify the MessageHeader to do this, even though it would be
nice.  Switch the remote timestamp channels over to a new RemoteMessage
channel instead, and add code to rename the channel when replaying.

There are no known log files with a MessageHeader actually logged, so
most of this should be pretty safe.  I've tested this on an old log file
by hand.

Change-Id: If81b31869b95040151d833d20ec3eb8623ab1cd4
diff --git a/aos/flatbuffers.bzl b/aos/flatbuffers.bzl
new file mode 100644
index 0000000..eb19beb
--- /dev/null
+++ b/aos/flatbuffers.bzl
@@ -0,0 +1,22 @@
+def cc_static_flatbuffer(name, target, function):
+    """Creates a cc_library which encodes a file as a Span.
+
+    args:
+      target, The file to encode.
+      function, The inline function, with full namespaces, to create.
+    """
+    native.genrule(
+        name = name + "_gen",
+        tools = ["//aos:flatbuffers_static"],
+        srcs = [target],
+        outs = [name + ".h"],
+        cmd = "$(location //aos:flatbuffers_static) $(SRCS) $(OUTS) '" + function + "'",
+    )
+
+    native.cc_library(
+        name = name,
+        hdrs = [name + ".h"],
+        deps = [
+            "@com_google_absl//absl/types:span",
+        ],
+    )