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).
Changed AngularFollowWall command to use an orientation angle between -180 and 180. Also added console output to help debug.
Completed wall following logic
Merge pull request #28 from rhauch/ultrasonic-wall-follower

Created a new wall-following command for autonomous use