Some refactoring.

Moved logic from Program file into a Mars class.
Added AutoFac and added more refactoring.

Moved Robot creation into a RobotFactory so that further robot types are
possible in the future.
Added a lot more tests for RobotFactory, Robot, Grid and Position.