Fixed problem in PID derivative term that could occur after resets, and a problem with the integral term that had to do with large negative dt values.
Changed pin_t to be an alias for uint8_t for motor and encoder classes
Refined PID tuning constants, made robot restraighten after going forward, added test case to repeatedly do a loop in a pre-built maze, modified WHEEL_BASE to turn 90deg, and created csv-compatible serial output for analysis in excel.  The robot was able to successfully complete the loop in the maze twice without being touched, but it still needs to be made more consistent.
made bones for IR wall sensor class.  It converts pin readings to wall locations in all 4 directions.