mark commands with color
cli: Fix plumbum switch help text padding
color program name only on posix and inside a tty

as suggested by @tomerfiliba
Merge pull request #127 from chaoflow/various_small

Various small improvements/fixes
cli: add facility to generate static completion files for zsh

the generator is invoked by calling --help-zsh-comp
cli: add dynamic completion facility
cli: move huge part from Application in extra CompletionMixin
cli/application: use isinstance instead of hasattr to check whether the mixin is used
cli/completion: cleanup of switch grouping
cli/completion: various minor code cleanups. one fix for exclude switches.
cli/completion: code comments
cli/application: add comments to completion specific parts
Fix completion
completion: tell completion that everything starting with a dash is an option

and not an argument. like this, options complete even in the presence of
uncompletable arguments.
add posargs argument to complete methods

posargs is a dictionary which maps to the positional arguments.
add support for switches occuring multiple times (swinfo.list)
completion: fix import bug
docstring pep257 and some wording
no spaces on last lines of zsh snippets
rename: escape instead of pre_quote