fix(deisctl): handle "deisctl help <command>" consistently

This change reworks the DeisCtlClient interface and our usage of `docopt` in order to handle `--help`, `-h`, and `help <command>` consistently, and to give each subcommand its own usage string. This change should also make it possible to write go unit tests against the new `Command()` func; previously `docopt` would have called `os.Exit()` and killed all tests. In short, this should make `docopt` self-documenting as the `deis` CLI is.

Closes #2083, #2356.