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).

The `FollowWall` was a work-in-progress, so this PR creates a new `AngularFollowWall` command and changes the `CompetitionRobot` to use it in the autonomous mode rather than the (currently problematic) `FollowWall` command. We can still easily switch back and forth in the `CompetitionRobot` code.