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.
Can we restore the record identifier lookup? The explicitness is good for the underlying API call but I think too strict for CLI usage -- this is useful to avoid having to manually look up a record's ID first.