Migrate to cobra CLI system

Refactored the CLI commands to use [cobra](https://github.com/spf13/cobra). Nothing outside of the `main` package (the CLI entry point/commands) is changed by this PR.

Addresses #111

* Now subcommands automatically get a nice help command when running `ipfs help <cmd>`
* Both long and short flags can be used, e.g. `ipfs add -r` or `ipfs add --recursive`
* Flags can now be defined as either persistent or local. For example the `--config` flag is persistent and can be accessed by any subcommand
@mappum no, i specifically want to manage the order. i do not want this to be listed automatically. even the order in which you see the commands strongly impacts how fast a user can pick this tool up.