Add large file support

Swift requires that files over 5GB be split into multiple segments, joined by
a manifest file, allowing the object to be downloaded all-at-once.

This patch teaches `upcs` how to upload using this process as wells as adding
a new option `-z` which allows the user to override the default 5GB segment
size.

Also included is a test-suite to verify the correctness of files uploaded and
downloaded using both the small and large-object functions.
Merge pull request #11 from rconradharris/add-large-file-support

Add large file support
Handle MacosX for stat.
Add support for swift+keystone.

- This is not well done since we assume that v1 == rackspace and v2 ==
  swift+keystone but patch welcome :)
Fix AUTH_VERSION not being set

The patch to update the code to handle swift+keystone introduced a bug where
using UK or US as a location would result in `AUTH_VERSION` not being set.
Because of this, later code would inadvertantly treat the auth response as
being version 2, which caused th JSON parsing to break with a KeyError on
'access'.

This patch refactors the code slightly to make it slightly clearer that all
branches of the if statement set AUTH_VERSION, and then defaults the RAX
branches to version 1.
Tests use external envinroment vars for creds

Rather than have to modify the `run_tests` file to add credentials, this patch
allows them to be passed in via the command-line, e.g.:

    RCLOUD_API_USER=foo RCLOUD_API_KEY=bar ./run_tests
Merge pull request #12 from rconradharris/fix-auth-version-bug

Fix AUTH_VERSION not being set
Merge pull request #13 from rconradharris/fix-test-envars

Fix test envars