Added second DoubleSolenoid to act as a collector valve.
Merge branch 'master' into development
Add angle correction to normal robot code.

This correction will ensure that the robot continues to drive
normally even with the changes to the gamepad angle calculations
in 1816-Utils.
Added "DEPLOYING" state to and renamed Solenoid objects in Collector.

The DEPLOYING state represents the collector's condition that is created
as soon as the controller issues a deploy command. The DEPLOYED state now
applies no forward pressure to keep the collector physically deployed.
Rename ValveWaitCommand to CollectorDeployCommand.

This command sets the collector's state to DEPLOYING and then after a 2
second timeout, sets it to the free-moving DEPLOYED state.
Modify Controls class for the new CollectorDeployCommand.
Delete CollectorDeployCommand and move its logic to SetCollectorCommand.
Add DoubleSolenoid value constants for valve states.

Rename state values to be clearer about their actions.
Make LowerShooterAfterWaitCommand interruptible.

This commit should be merged into the main branches.
Added an implementation to override safety checks for shooting.

In case of when limit switches fail.
Changed time out value in SetCollectorCommand.

The valve will now close faster.
Fix shooter safety override button.

The shooter can now be forced to fire even if the safety check is failing.
Change SetCollectorCommand to use a nested command.

The SetCollectorCommand will now spawn off a nested command so that
it can always exit instantly.
Optimized override safety check in Shooter class.

Short circuiting is good.
Remove collector limit switch.

The collector limit switch is no longer triggered by the collector.
Rename collector valve constants in Components.
Remove DriveXDistanceCommand from the project.

This command depended on the gyro which is now disconnected.
Remove the gyro from DrivetrainRotation.

The gyro is now disconnected on the robot.
Adjust drive distance threshold to work with UltrasonicSensor.