Major Restructuring of hardware interfaces

Restructured HW interfaces to abstract device differences from the rest
of the robot code. Got rid of "bit fields" in the main robot code.
Moved sensor data into classes instead of structs.