Refactor.

- move robot class to separate file
- separate `report` functionality and stdout printing
- add a debug option
- valid_xy? was wrong
- change `valid` methods to be class methods
Rspec.
Do the IO handling in the executable.
Fixes:
- check for valid position before attempting LEFT/RIGHT
- make report do what REPORT should do
Amend tests to match changes.
Test input file.
cleanup