Subcommands.

This makes our commands implementation more git friendly. Fixes #137.

TODO:

- [x] Allow to chain commands.
- [x] Use a flag implementation POSIX compatible: https://github.com/ogier/pflag
- [x] Print better help when calling a subcommand that doesn't exist.
- [x] Make sure the command is not executed when calling it with `-h` or `--help`