Add a Flatbuffers containing object, and more variants

We now have DetachedBuffers which represent flatbuffers, the new
Flatbuffer object, and Table objects.  It should be easy to merge and
copy these various objects now.  (And print).

Change-Id: Ie8fcff1e97f0ae5a7ef8a3becb1be467010460dc
diff --git a/aos/json_to_flatbuffer_test.cc b/aos/json_to_flatbuffer_test.cc
index 7325c0c..a048e0a 100644
--- a/aos/json_to_flatbuffer_test.cc
+++ b/aos/json_to_flatbuffer_test.cc
@@ -16,15 +16,14 @@
 
   bool JsonAndBack(const ::std::string in, const ::std::string out) {
     printf("Testing: %s\n", in.c_str());
-    const ::std::vector<uint8_t> fb =
+    const flatbuffers::DetachedBuffer fb =
         JsonToFlatbuffer(in.data(), ConfigurationTypeTable());
 
     if (fb.size() == 0) {
       return false;
     }
 
-    const ::std::string back =
-        FlatbufferToJson(fb.data(), ConfigurationTypeTable());
+    const ::std::string back = FlatbufferToJson(fb, ConfigurationTypeTable());
 
     printf("Back to string: %s\n", back.c_str());