Add LogPartsSorter to sort messages from a log file

Based on https://docs.google.com/document/d/1RZ6ZlADRUHmwiFOOmXA87FHPLFuN-7mS7tbFCwguZDE/edit#
we need to start by sorting all the messages from a set of parts.  Make
a class and test this.  (The testing infrastructure looks a bit
over-kill, but will be re-used a lot for the following tests).

Change-Id: Ifa1ba880ddf7cf923f24826e504b902a4787ad03
diff --git a/aos/flatbuffer_merge.h b/aos/flatbuffer_merge.h
index d98a9eb..0c09b22 100644
--- a/aos/flatbuffer_merge.h
+++ b/aos/flatbuffer_merge.h
@@ -50,6 +50,15 @@
       MergeFlatBuffers<T>(&fb1.message(), &fb2.message()));
 }
 
+template <class T>
+inline flatbuffers::Offset<T> MergeFlatBuffers(
+    const aos::Flatbuffer<T> &fb1, const aos::Flatbuffer<T> &fb2,
+    flatbuffers::FlatBufferBuilder *fbb) {
+  return MergeFlatBuffers<T>(
+      reinterpret_cast<const flatbuffers::Table *>(&fb1.message()),
+      reinterpret_cast<const flatbuffers::Table *>(&fb2.message()), fbb);
+}
+
 // Copies a flatbuffer by walking the tree and copying all the pieces.  This
 // converts DAGs to trees.
 template <class T>