Commands Refactor Part 2

We split #196 in two parts. this is the second. (#262 is the first). This builds on all the changes to commands/.
I think in general we'll always write out own subcmd stuff. It's not easy to generate stuff like this:

```
    ipfs tour [<number>]   - Show tour topic. Default to current.
    ipfs tour next         - Show the next tour topic.
    ipfs tour list         - Show a list of topics.
    ipfs tour restart      - Restart the tour.
```

Because a) it's not the exact same as the subcommands descriptions (have less text), b) sometimes include arguments, c) is tuned to look good. IMO it's a lost cause to autogen this.