Better command names and Program Versions

Added utility function to create command names.
Made the change shooter pitch command name have the target.
Added printing to the DS for the program version.
Re-added missing constructor call.
Changed upper collector interference.
Obsolete Commands and Names

Added better command names with parameters to like everything.
Removed obsolete commands.
Blank Autonomous and Better Grounding

Added autonomous names.
Added a blank autonomous.
Added support for more reliable shooter pitch grounding.
Stupid problem.

If we are trying to ground the shooter then we need to wait for it to be
grounded, not just near the goal according to the encoder.
Command Names and Light

Command Names refactoring.
Shooter light.
Logic inversion

Inverted the logic gate on the shooter wait method override.
Trip times and Deadbands

Added deadband to the joysticks.
Changed the dashboard updater to send fewer packets.
Changed the collect command to have a variable delay.
Added compile timestamp to the DS.
Command Starter Arguments

Added support for an argument in the command starter.
Added drive distance inversion

Added support for inverting an already run drive distance command to
theoretically invert a previously performed command.
Inverted autonomous drive command.

Made the autonomous command invert the previous drive command and stop
as soon as it sees the Frisbees.
PWM Caches and Collector Flag

Made the PWM systems and anything that calls Get() on a controller use a
cached state instead of the Get() function.
Disabled the collector flag.
Fixed bug and Watchdog Expiration

Changed the watchdog expiration to 1 second.
Added a missing comparison operator to the shooter PWM cache.
Logic Gates, Watchdog, and Speed

Prints the loops per second to the SmartDashboard.
Fixed the change shooter pitch logic gate again.
Changed the robot to run at a constant rate instead of waiting for DS
updates.  This hopefully fixes the watchdog.
Real Loops per Second

Added real loops per second, not predicted.
Loops per second.  For real.

Added real loops per second.  This time it works.
Moving average too.
DriveDistance Inversion and Autonomous

Changed the drive distance inversion to be on a single channel; dual
channel drive distance doesn't work.
Fixed the autonomous so it doesn't use the inverted distance function;
it's not needed and it didn't work.
Version Bump

Bumped to version 1.2 -- Saturday, Ellensburg
24 pt Auto and Teleop tuned