Add ability to drive splines backwards

Change-Id: Ib34366ed155625fba56c4f72b9adce0615c6f12d
diff --git a/frc971/autonomous/base_autonomous_actor.h b/frc971/autonomous/base_autonomous_actor.h
index 7e3ef35..aeef38c 100644
--- a/frc971/autonomous/base_autonomous_actor.h
+++ b/frc971/autonomous/base_autonomous_actor.h
@@ -42,9 +42,16 @@
     BaseAutonomousActor *base_autonomous_actor_;
   };
 
+  // Represents the direction that we will drive along a spline.
+  enum class SplineDirection {
+    kForward,
+    kBackward,
+  };
+
   // Starts planning the spline, and returns a handle to be used to manipulate
   // it.
-  SplineHandle PlanSpline(const ::frc971::MultiSpline &spline);
+  SplineHandle PlanSpline(const ::frc971::MultiSpline &spline,
+                          SplineDirection direction);
 
   void ResetDrivetrain();
   void InitializeEncoders();