creates a Surfaces model
adds Robot and Position models
adds R and L robot methods (position facing changes but not orientation yet)
adds method to move forward (f) and method to set orientation after moving r and l
adds value validations for coordinates and methods to set robot status to lost if it falls over and position scent to robot
modifies r, l and f methods to accommodate robot being at x=0 and y=0 axes
adds methods to handle other corners and surface edges as edge cases. also adds validation for movement if robot is lost
adds working code to move the robot with rails input and displays the information correctly in the views
adds validation for instruction length and presence of position id
Adds styling and add the rest of the views for the test