Merge pull request #27 from Zabot/UltrasonicWallFollow

Ultrasonic wall following and command framework
Created a new wall-following command for autonomous use

The command uses an algorithm that uses the measured distance to wall, the measured range, and the measured rotation (relative to the starting orientation). It uses these to calculate the actual
distance to the wall, the actual range, and the how far the robot is from the desired distance to the wall. It then determines how much the robot should turn in order to eliminate the distance error over some computed range, which is a function of the actual range).