Config Setup Tweaks

* API: Rest transport errors are now properly converted to SoftLayerAPIErrors
* CLI: Since all unknown exceptions have the traceback printed out, there's no reason to re-raise ValueError and KeyError in core.
* CLI: Adds timeout to `sl config setup` client
* CLI: `sl config setup` now looks like this:

```bash
Username [username]:
API Key or Password [oyVmeipYQCNrjVS4rF9bHWV7D75S6pa1fghFl384v7mwRCbHTfuJ8qRORIqoVnha]:
Endpoint (public|private|custom): custom
Endpoint URL [https://api.softlayer.com/xmlrpc/v3/]:
:..............:..................................................................:
:         Name : Value                                                            :
:..............:..................................................................:
:     Username : username                                                         :
:      API Key : oyVmeipYQCNrjVS4rF9bHWV7D75S6pa1fghFl384v7mwRCbHTfuJ8qRORIqoVnha :
: Endpoint URL : https://api.softlayer.com/xmlrpc/v3/                             :
:..............:..................................................................:
Are you sure you want to write settings to "/Users/user/.softlayer"? [Y/n]: y
Configuration Updated Successfully
```

Note: An empty input to the 'Endpoint' prompt will be assumed to mean custom so spamming the enter key will take you through all the options. The defaulting behavior be the same. It will default to the currently configured endpoint or the public endpoint if there is no configured endpoint url.