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/configuration.cc b/aos/configuration.cc
index d32cae8..ad2e295 100644
--- a/aos/configuration.cc
+++ b/aos/configuration.cc
@@ -591,7 +591,8 @@
 
 const Channel *GetChannel(const Configuration *config, std::string_view name,
                           std::string_view type,
-                          std::string_view application_name, const Node *node) {
+                          std::string_view application_name, const Node *node,
+                          bool quiet) {
   const std::string_view original_name = name;
   std::string mutable_name;
   if (node != nullptr) {
@@ -647,7 +648,7 @@
   } else {
     VLOG(1) << "No match for { \"name\": \"" << name << "\", \"type\": \""
             << type << "\" }";
-    if (original_name != name) {
+    if (original_name != name && !quiet) {
       LOG(WARNING) << "Remapped from {\"name\": \"" << original_name
                    << "\", \"type\": \"" << type << "\"}, to {\"name\": \""
                    << name << "\", \"type\": \"" << type
@@ -683,7 +684,7 @@
 
 FlatbufferDetachedBuffer<Configuration> MergeConfiguration(
     const Flatbuffer<Configuration> &config,
-    const std::vector<aos::FlatbufferString<reflection::Schema>> &schemas) {
+    const std::vector<aos::FlatbufferVector<reflection::Schema>> &schemas) {
   flatbuffers::FlatBufferBuilder fbb;
   fbb.ForceDefaults(true);
 
@@ -701,8 +702,8 @@
     std::vector<flatbuffers::Offset<Channel>> channel_offsets;
     for (const Channel *c : *config.message().channels()) {
       // Search for a schema with a matching type.
-      const aos::FlatbufferString<reflection::Schema> *found_schema = nullptr;
-      for (const aos::FlatbufferString<reflection::Schema> &schema : schemas) {
+      const aos::FlatbufferVector<reflection::Schema> *found_schema = nullptr;
+      for (const aos::FlatbufferVector<reflection::Schema> &schema : schemas) {
         if (schema.message().root_table() != nullptr) {
           if (schema.message().root_table()->name()->string_view() ==
               c->type()->string_view()) {