Config Command. Help Command. Docopt Arg parsing

CLI: Converts to using docopt (https://github.com/docopt/docopt)
       I think this solves a lot of the usability issues with argparse and allows for much more flexibility.
CLI: adds: sl config setup
CLI: adds: sl config show
CLI: adds: sl help `<command>`

This change is pretty far reaching. Basically every command needs to be retested.

Examples:
```bash
$ sl
usage: sl <command> [<args>...]
       sl help <command>
       sl [-h | --help]

SoftLayer Command-line Client

The available commands are:
  firewall  Firewall rule and security management
  image     Manages compute and flex images
  ssl       Manages SSL
  cci       Manage, delete, order compute instances
  dns       Manage DNS
  config    View and edit configuration for this tool
  metadata  Get details about this machine. Also available with 'me' and 'meta'

See 'sl help <command>' for more information on a specific command.

To use most commands your SoftLayer username and api_key need to be
configured. The easiest way to do that is to use: 'sl config setup'
```

```bash
$ sl config show
:..............:.........................................:
:         Name : Value                                   :
:..............:.........................................:
:     Username : username                                :
:      API Key : API_KEY                                 :
: Endpoint URL : https://api.softlayer.com/xmlrpc/v3/    :
:..............:.........................................:
```

```bash
$ sl config setup
Username: username
API Key: API_KEY
Endpoint URL: 
Are you sure you want to write settings to "/Users/kevin/.softlayer"? n|y:
```

```bash
$ sl help config
usage: sl config <command> [<args>...] [options]

View and edit configuration

The available commands are:
  setup  Setup configuration
  show   Show current configuration

Standard Options:
  -h --help  Show this screen
```