Moved command definitions out of Shell.

They didn't really belong there since the shell shouldn't
need to define the commands - they can be retrived from
the engine.

Added some error handling around bad arguments for commands
and quitting the application.

Added function defs for downloading mods and creating/deleting servers