Made some changes to JoystickReader for third robot.

Changes are by no means finalized!

- Copied input stuff to bot3/input.
(Copying even unmodified files was necessary so git wouldn't build stuff
from frc971/input/input.gyp and see duplicate targets.)
- Modified build system to build this.
- Took the opportunity to fix some name-related stylguide compliance issues.
(I fixed these in frc971 as well.)
diff --git a/bot3/input/input.gyp b/bot3/input/input.gyp
new file mode 100644
index 0000000..8d75241
--- /dev/null
+++ b/bot3/input/input.gyp
@@ -0,0 +1,77 @@
+{
+  'targets': [
+    {
+      'target_name': 'joystick_reader',
+      'type': 'executable',
+      'sources': [
+        'joystick_reader.cc',
+      ],
+      'dependencies': [
+        '<(AOS)/atom_code/input/input.gyp:joystick_input',
+        '<(AOS)/atom_code/atom_code.gyp:init',
+        '<(AOS)/build/aos.gyp:logging',
+
+        '<(DEPTH)/frc971/control_loops/drivetrain/drivetrain.gyp:drivetrain_loop',
+        '<(DEPTH)/frc971/queues/queues.gyp:queues',
+        '<(DEPTH)/frc971/control_loops/index/index.gyp:index_loop',
+        '<(DEPTH)/frc971/control_loops/shooter/shooter.gyp:shooter_loop',
+        '<(DEPTH)/frc971/control_loops/drivetrain/drivetrain.gyp:drivetrain_loop',
+        '<(DEPTH)/frc971/autonomous/autonomous.gyp:auto_queue',
+      ],
+    },
+    {
+      'target_name': 'gyro_sensor_receiver',
+      'type': 'executable',
+      'sources': [
+        'gyro_sensor_receiver.cc',
+      ],
+      'dependencies': [
+        '<(DEPTH)/frc971/control_loops/drivetrain/drivetrain.gyp:drivetrain_loop',
+        '<(DEPTH)/frc971/queues/queues.gyp:queues',
+        '<(DEPTH)/frc971/control_loops/angle_adjust/angle_adjust.gyp:angle_adjust_loop',
+        '<(DEPTH)/frc971/control_loops/wrist/wrist.gyp:wrist_loop',
+        '<(DEPTH)/frc971/control_loops/index/index.gyp:index_loop',
+        '<(DEPTH)/frc971/control_loops/shooter/shooter.gyp:shooter_loop',
+        '<(AOS)/atom_code/atom_code.gyp:init',
+        '<(DEPTH)/gyro_board/src/libusb-driver/libusb-driver.gyp:libusb_wrap',
+        '<(EXTERNALS):libusb',
+        '<(AOS)/build/aos.gyp:logging',
+        '<(AOS)/common/common.gyp:time',
+        '<(AOS)/common/sensors/sensors.gyp:sensor_receiver',
+      ],
+    },
+    {
+      'target_name': 'gyro_board_reader',
+      'type': 'executable',
+      'sources': [
+        'gyro_board_reader.cc',
+      ],
+      'dependencies': [
+        '<(DEPTH)/frc971/control_loops/drivetrain/drivetrain.gyp:drivetrain_loop',
+        '<(DEPTH)/frc971/queues/queues.gyp:queues',
+        '<(DEPTH)/frc971/control_loops/angle_adjust/angle_adjust.gyp:angle_adjust_loop',
+        '<(DEPTH)/frc971/control_loops/wrist/wrist.gyp:wrist_loop',
+        '<(DEPTH)/frc971/control_loops/index/index.gyp:index_loop',
+        '<(DEPTH)/frc971/control_loops/shooter/shooter.gyp:shooter_loop',
+        '<(AOS)/atom_code/atom_code.gyp:init',
+        '<(DEPTH)/gyro_board/src/libusb-driver/libusb-driver.gyp:libusb_wrap',
+        '<(EXTERNALS):libusb',
+        '<(AOS)/build/aos.gyp:logging',
+        '<(AOS)/common/common.gyp:time',
+        '<(AOS)/common/common.gyp:timing',
+      ],
+    },
+    {
+      'target_name': 'gyro_reader',
+      'type': 'executable',
+      'sources': [
+        'gyro_reader.cc',
+      ],
+      'dependencies': [
+        '<(DEPTH)/frc971/queues/queues.gyp:queues',
+        '<(AOS)/atom_code/atom_code.gyp:init',
+        '<(AOS)/build/aos.gyp:logging',
+      ],
+    },
+  ],
+}