Parser API (final!) and Parser implementation

Note:
Su Gi's UI controller: to call parser, use "Parser Parser([your
command])". Returns a Parser Object containing a multimap. Use public
function getValid of Parser to check valid command. Executor reads in a
Parser Object.

My executor: use getCommandContents to get multimap. Use accessors in
Executor to extract contents.

Undo stack stores Parser Objects as commands