Implements path queueing.
Merge branch 'master' into discrete_time
Merge branch 'master' into discrete_time

Merges in the new fixed length maneuvers so I can test the time-slot maneuver decisions stuff.

Conflicts:
	src/airf/pathing/CourseFactory.java
Applys inprogress commit.
Implements basic timeslotted maneuver picking.
Refactors away some singletons.
Refactors initial course velocity into the Course class.
Partially refactors Course to own the starting velocity of a maneuver.
Implements an iterator over the acceleration sections in the acceleration profile.
Implements a function to calculate the position on a maneuver given the amount of time flying the maneuver.
Completely refactors Course to own velocity.
Implements rudimentary fast and slow maneuver functionality.
Implements a method that calculates the slope anywhere along a linear spline.
Partially implements tangent angle calculation for Bezier curves. (It's currently failing one unit test.)
Implements calculating the slope as a tuple containing the rise and run instead of just the ratio of rise over run.
Finishes implementing tangent angle calculation for Bezier curves.
Partially implements new manuever system. Acceleration/Deceleration maneuvers not working yet, and there are failing unit tests.
Fixes unit tests.
Fixes acceleration and deceleration.
Implements coordinate frame changes for soft turns.