Refactored Command algorithm for a better design

Now execute() of Command classes no longer call Interpreter. All
necessary information is passed in from constructor.
As a consequence, Exception handler for DateTimeException or invalid
user input is now in Controller. (Previously was in Command classes)