Made the arduino code much cooler

Changes:
The motor PI control is now done by a hardware timer ISR with exact
timings instead of whenever a ROS Speed message happens to arrive.
The raw encoder data is published whenever new values are read.
The quadrature decoder ISRs are now much faster, no more arduino library
overhead in there.
The arduino now accepts either Speed messages (switches it to PI control
mode) or PWM messages (switches to direct PWM mode). This may be useful
for testing, e.g. measuring the step response of the motors.

Caveats:
This code hasn't yet been tested. Signs may be wrong (encoder/motor
direction), the 50ms timer period may be suboptimal, something might not
work at all.