Add rollers control loop.

The rollers are a separate control loop because Austin wanted
Comran to get practice writing them.
This change contains modifications that Comran made to the rollers
control loop. There was a lot of cleaning up and fixing by me
as well.

Change-Id: I3d012fb8a9652c0b85ed27f5d23fe7d63bb977ce
diff --git a/bot3/control_loops/rollers/rollers.gyp b/bot3/control_loops/rollers/rollers.gyp
new file mode 100644
index 0000000..e865ed8
--- /dev/null
+++ b/bot3/control_loops/rollers/rollers.gyp
@@ -0,0 +1,45 @@
+{
+  'targets': [
+    {
+      'target_name': 'rollers_loop',
+      'type': 'static_library',
+      'sources': ['rollers.q'],
+      'variables': {
+        'header_path': 'bot3/control_loops/rollers',
+      },
+      'dependencies': [
+        '<(AOS)/common/controls/controls.gyp:control_loop_queues',
+      ],
+      'export_dependent_settings': [
+        '<(AOS)/common/controls/controls.gyp:control_loop_queues',
+      ],
+      'includes': ['../../../aos/build/queues.gypi'],
+    },
+    {
+      'target_name': 'rollers_lib',
+      'type': 'static_library',
+      'sources': [
+        'rollers.cc',
+      ],
+      'dependencies': [
+        'rollers_loop',
+        '<(AOS)/common/controls/controls.gyp:control_loop',
+      ],
+      'export_dependent_settings': [
+        'rollers_loop',
+        '<(AOS)/common/controls/controls.gyp:control_loop',
+      ],
+    },
+    {
+      'target_name': 'rollers',
+      'type': 'executable',
+      'sources': [
+        'rollers_main.cc',
+      ],
+      'dependencies': [
+        'rollers_lib',
+        '<(AOS)/linux_code/linux_code.gyp:init'
+      ],
+    },
+  ],
+}