Convert aos over to flatbuffers

Everything builds, and all the tests pass.  I suspect that some entries
are missing from the config files, but those will be found pretty
quickly on startup.

There is no logging or live introspection of queue messages.

Change-Id: I496ee01ed68f202c7851bed7e8786cee30df29f5
diff --git a/y2019/control_loops/superstructure/collision_avoidance.cc b/y2019/control_loops/superstructure/collision_avoidance.cc
index eb5b591..9c2bf93 100644
--- a/y2019/control_loops/superstructure/collision_avoidance.cc
+++ b/y2019/control_loops/superstructure/collision_avoidance.cc
@@ -1,7 +1,11 @@
 #include "y2019/control_loops/superstructure/collision_avoidance.h"
 
 #include <cmath>
-#include "y2019/control_loops/superstructure/superstructure.q.h"
+
+#include "frc971/control_loops/control_loops_generated.h"
+#include "frc971/control_loops/profiled_subsystem_generated.h"
+#include "y2019/control_loops/superstructure/superstructure_goal_generated.h"
+#include "y2019/control_loops/superstructure/superstructure_status_generated.h"
 
 namespace y2019 {
 namespace control_loops {
@@ -30,9 +34,9 @@
   clear_max_intake_goal();
 }
 
-bool CollisionAvoidance::IsCollided(const SuperstructureQueue::Status *status) {
-  return IsCollided(status->wrist.position, status->elevator.position,
-                    status->intake.position, status->has_piece);
+bool CollisionAvoidance::IsCollided(const Status *status) {
+  return IsCollided(status->wrist()->position(), status->elevator()->position(),
+                    status->intake()->position(), status->has_piece());
 }
 
 bool CollisionAvoidance::IsCollided(const double wrist_position,
@@ -73,13 +77,12 @@
   return false;
 }
 
-void CollisionAvoidance::UpdateGoal(
-    const SuperstructureQueue::Status *status,
-    const SuperstructureQueue::Goal *unsafe_goal) {
-  const double wrist_position = status->wrist.position;
-  const double elevator_position = status->elevator.position;
-  const double intake_position = status->intake.position;
-  const bool has_piece = status->has_piece;
+void CollisionAvoidance::UpdateGoal(const Status *status,
+                                    const Goal *unsafe_goal) {
+  const double wrist_position = status->wrist()->position();
+  const double elevator_position = status->elevator()->position();
+  const double intake_position = status->intake()->position();
+  const bool has_piece = status->has_piece();
 
   // Start with our constraints being wide open.
   clear_max_wrist_goal();
@@ -155,8 +158,8 @@
   }
 
   if (unsafe_goal) {
-    const double wrist_goal = unsafe_goal->wrist.unsafe_goal;
-    const double intake_goal = unsafe_goal->intake.unsafe_goal;
+    const double wrist_goal = unsafe_goal->wrist()->unsafe_goal();
+    const double intake_goal = unsafe_goal->intake()->unsafe_goal();
 
     // Compute if we need to move the intake.
     const bool intake_needs_to_move = (intake_position < kIntakeMiddleAngle) ^