* see mail from Markus Werner concerning class methods for defining methods as sub commands

---- DONE ----

* define banner in a common way (like option parser), maybe use the one from option parser
* raise NoCommandGivenError when no command was given
* ability to specify default command (used when no command was given)
* add order,order!,... methods to mimic optparse
* optionally capture error messages and provide friendlier output
* if command has subcommands, use order! method, if has arguments use permute! (=POSIXLY_CORRECT); same with getoptlong