Break out the CIM class to avoid duplication

Before this patch we had 7 identical copies of the CIM class. Now it's
in its own module.

More de-duplication to come.

Change-Id: I598224020e50e8ec63584333dc080d34a2407cde
diff --git a/y2014_bot3/control_loops/python/polydrivetrain.py b/y2014_bot3/control_loops/python/polydrivetrain.py
index e047c11..1d426d9 100755
--- a/y2014_bot3/control_loops/python/polydrivetrain.py
+++ b/y2014_bot3/control_loops/python/polydrivetrain.py
@@ -6,6 +6,7 @@
 from y2014_bot3.control_loops.python import drivetrain
 from frc971.control_loops.python import control_loop
 from frc971.control_loops.python import controls
+from frc971.control_loops.python.cim import CIM
 from matplotlib import pylab
 
 import gflags
@@ -196,8 +197,8 @@
     self.right_gear = VelocityDrivetrain.LOW
     self.left_shifter_position = 0.0
     self.right_shifter_position = 0.0
-    self.left_cim = drivetrain.CIM()
-    self.right_cim = drivetrain.CIM()
+    self.left_cim = CIM()
+    self.right_cim = CIM()
 
   def IsInGear(self, gear):
     return gear is VelocityDrivetrain.HIGH or gear is VelocityDrivetrain.LOW
@@ -428,8 +429,7 @@
 
       dog_loop_writer.Write(argv[1], argv[2])
 
-      cim_writer = control_loop.ControlLoopWriter(
-          "CIM", [drivetrain.CIM()])
+      cim_writer = control_loop.ControlLoopWriter("CIM", [CIM()])
 
       cim_writer.Write(argv[3], argv[4])
       return