Created an abstrace base class "Movable" that both Rover and Alien can inherit implementation details from, which eliminates duplication and the need for a "move helper" type.  Also, re-created an IObstacle so that Alien can also be an obstacle - helps demonstrate interface segregation.
Prevent unhandled exception when trying to submit no commands.
Minor cleanup