Reorganize directory structure for third robot.

I added a "bot3" directory, so that we can have all the third
robot specific stuff live there.

Most of these changes were just copying files from frc971. Many
of the files have no modifications except changed paths in the
include directives, changed paths in gyp files, and changed
namespace names. Some of the code is new, however, for instance,
I modified motor_writer to control the motors and pistons on
the third robot, as well as added a new "rollers" queue to
transfer data pertaining to these.

I also updated the build system so that builds for the normal
robot code and the third robot code would in no way conflict
with each other. Finally, I figured out how I want to handle
the constants, although I haven't put actual values for
that in yet.

I cleaned up the python code, adding in the small changes to
that which Comran wanted.

Change-Id: I04e17dc8b17a980338b718a78e348ea647ec060b
diff --git a/frc971/constants.h b/frc971/constants.h
index 173efad..2dcd150 100755
--- a/frc971/constants.h
+++ b/frc971/constants.h
@@ -4,6 +4,7 @@
 #include <stdint.h>
 
 #include "frc971/control_loops/state_feedback_loop.h"
+#include "frc971/shifter_hall_effect.h"
 
 namespace frc971 {
 namespace constants {
@@ -11,17 +12,6 @@
 // Has all of the numbers that change for both robots and makes it easy to
 // retrieve the values for the current one.
 
-// Contains the voltages for an analog hall effect sensor on a shifter.
-struct ShifterHallEffect {
-  // The numbers to use for scaling raw voltages to 0-1.
-  // Low is near 0.0, high is near 1.0
-  double low_gear_middle, low_gear_low;
-  double high_gear_high, high_gear_middle;
-
-  // The numbers for when the dog is clear of each gear.
-  double clear_low, clear_high;
-};
-
 // This structure contains current values for all of the things that change.
 struct Values {
   // This is useful for representing the 2 sides of a hall effect sensor etc.