Fix TAGS target and cleanup gps.c a tiny bit
Add Launch Control fundamental code

Adds the basic code needed for launch control to exist.
Add testing for launch control

Adds all the testing needed for launch control tests so that we
know it works like it should be.
Integrate Launch Control into the start/finish firmware logic.

Integrates the launch control code into the start/finish logic.
Handles corner cases with the old start/finish logic and puts in
reasonably sound work arounds to deal with the delay between
actual launch time and position and the time when we realize we
have actually launched.

Also converts some methods over to use the more standard ones
(like calculating distance using a unit tested pythag algorithm).