Adding SSL module and CLI
Merge pull request #38 from SLphil/ssl

Adding SSL module and CLI
Module Refactor

* Moves modules from SoftLayer/CLI/*.py to SoftLayer/CLI/modules/*.py
* Moves code from SoftLayer/CLI/__init__.py to SoftLayer/CLI/core.py,
  SoftLayer/CLI/environment.py, SoftLayer/CLI/helpers.py
Merge pull request #37 from sudorandom/module_refactor

Module Refactor
Adds FormattedItem class

This changes how the CLIRunnables define formatted values in a way that will perserve
the raw value. The signature is this: FormattedItem(raw, formatted). Along with this is
a helper that converts raw megabyte values to gigabytes.
Adds listing format helper.

* Usage: listing(speeds, separator=',')
* Returning a list from execute() in CLIRunnable will now print out
  each item separated by new line.
Adds MetadataManager
Merge pull request #39 from sudorandom/better_formatting

Adds FormattedItem class
DNS fixups, CLI Fixups

CLI: Fixed 'sl dns edit'
CLI: CLIAbort now accepts a message as the first argument
CLI: If SystemExit.message exists, print to stderr
CLI: CCI details now returns known PTR records too
CCI: details now return hostname and domain as well
Add cci dns sync

CLI: adds 'sl cci dns sync'

usage: sl cci dns sync [-h] [--a] [--ptr] [--really] instance

Sync hostname to A and PTR records

positional arguments:
  instance      Instance ID

optional arguments:
  -h, --help    show this help message and exit
  --a, --A      Sync only the A record
  --ptr, --PTR  Sync only the PTR record
  --really, -y  Confirm all prompt actions
Fixed up CLIAbort tests
Merge branch 'master' of github.com:softlayer/softlayer-api-python-client into metadata
Merge pull request #40 from CrackerJackMack/dns_sync

DNS Sync
Print cleanup

CLI: Removed all print() calls
CLI: Fixed up firewall to use Table
Merge pull request #42 from CrackerJackMack/output_cleanup

Output cleanup
Removed using newline seperators
Fixed conflict in CLI:cci
Fixed conflict in CLI:cci
Adds 'metadata' command in CLI
Adds MetadataManager