console UI implementation
- removed allowed commands enum, each command will hold it's own list of
supported names
- added AbstractCommand holding some common command operations
- this commit is starting to sound way too serious
- I'll fix that right up.