Implement git-style sub-commands

Some background: https://github.com/visionmedia/commander.js/issues/94

- command invocation still the same, `mean init <name>` works same as `mean-init <name>`
- split commands into separate files
- separate `options` for particular commands
- specific `help` generated for each command
- move cli logic into separate file under `lib` instead `bin`

Interaction with `user` command is a little different now, with options for `addRole` and `removeRole`. I'm sure we could get it to work as before, but maybe the options are better?