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.
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