Updating enumValueForType to account for new values (how did this not break something already?)
Added an opposite_actions map, for quick reference.
Fixed [#2] - implemented collision detection using a "previous position" stack, so that, for every collision, the robot undos its position to the top of the stack.  If it runs out of positions on the stack, it defaults to move downward.