Version 4

This will be the main pull request for the v4 branch. v4 (API-breaking) features should be pulled into the v4 branch (and will show up in this commit)

**This introduces Click over the use of Docopt for argument parsing for the CLI.**
 * Add --fixture option which will use the testing fixture client instead of an actual SoftLayer API client. This can and should be used for demoing and testing. Be warned that not all fixtures will be complete enough to use with all CLI commands.
 * Pluggable CLI modules via entry-points. This will allow for 3rd party and internal-only extensions to the CLI.
 * Verbose flag (-v | -vv | -vvv) to replace the --debug option.
 * Global options are only accepted directly after `sl` and before the module name. For example `sl vs list --debug=3` no longer works. You would use `sl --debug=3 vs list` instead.
 * More validation is done during argument parsing. Some interfaces might have slight changes.
Okay. I think my primary issue with the other method was the fact that records could accidentally be edited. That could be solved with a display of what will be changing and a confirmation before actually making the edits. If I do that, it would solve most of the reasons why I re-wrote this command. Does that jive?