Stop stripping the size prefix off

This turns out to be super dangerous to do.  A flatbuffer is aligned
assuming that the size is either there or not there.  By removing it,
you break alignment.

This necesitates having 2 subclasses of Flatbuffer.  A SizePrefixed
version and a non size prefixed version.  That lets us distinguish for
methods which care.

Once all that's done, deal with the fallout through the code base,
including logfile_utils and the chaos that causes rippling out.

Change-Id: I91b7be355279a1c19e5c956c33359df01a17eacf
diff --git a/aos/events/event_loop.h b/aos/events/event_loop.h
index 9dac88b..5b699aa 100644
--- a/aos/events/event_loop.h
+++ b/aos/events/event_loop.h
@@ -350,7 +350,7 @@
   Builder MakeBuilder();
 
   // Sends a prebuilt flatbuffer.
-  bool Send(const Flatbuffer<T> &flatbuffer);
+  bool Send(const NonSizePrefixedFlatbuffer<T> &flatbuffer);
 
   // Sends a prebuilt flatbuffer which was detached from a Builder created via
   // MakeBuilder() on this object.