fix confusion between "input" and "output"

The code relied on number_of_inputs and number_of_outputs being
the same, which has always been the case so we never noticed. There are
also tests now to try to catch that happening in the future.

Also, there was an accessor function bug which ended up accessing a
matrix of the wrong size, which the new testing caught.

Change-Id: I31791444349fb42ca9105b21336a308277d3c74e
diff --git a/frc971/control_loops/control_loops.gyp b/frc971/control_loops/control_loops.gyp
index 848a210..1976850 100644
--- a/frc971/control_loops/control_loops.gyp
+++ b/frc971/control_loops/control_loops.gyp
@@ -1,6 +1,17 @@
 {
   'targets': [
     {
+      'target_name': 'state_feedback_loop_test',
+      'type': 'executable',
+      'sources': [
+        'state_feedback_loop_test.cc',
+      ],
+      'dependencies': [
+        'state_feedback_loop',
+        '<(EXTERNALS):gtest',
+      ],
+    },
+    {
       'target_name': 'hall_effect_tracker',
       'type': 'static_library',
       'sources': [