State of code at the end of the Rhode Island District Event.  fireCatapult() now runs on a different thread than the rest of the program, so that drive control is maintained while firing.