Add IterativeRobot and IterativeRobotAdapter classes

- Moved methods out of class definition to .cpp file for SimpleRobot
- Made certain SimpleRobotAdapter methods virtual