Extracted robot functionality into IRobot

Created IRobot, extracted all public properties and methods from Robot
to IRobot, and replaced all uses of Robot with IRobot, except for the
registration in the TinyIOC container in RobotBuilder.