Added documentation and made some minor code changes

- Added javadocs and line by line documentation to all classes in the drive package
- Simplified math and condensed if statments into ternary operators in ArcadeDriveController
- Changed the default description of a DriveController to its class name
- Added custom descriptions to FourWheelDriveController and TwoWheelDriveController
- Made MecanumDriveAlgorithm.controller final
- Moved PIDController initialization to MecanumDriveController constructor
- Substituted Math.PI for 3.14159 in MecanumDriveController
- Reset the integral term of the PIDController when the gyro is reset