Add backup command.

The backup command manages the process of:

* Listing a bucket.
* Looking up the last listing of that bucket (say last week's listing).
* Doing a diff of the last listing (if it exists) with the current listing.
* Doing a sync on all the keys in the diff (only the keys that are new/have changed).
* Persisting the new listing, along with ok/fail listings, to a 3rd S3 bucket (perf bucket for instance).

r: @camilo @fbogsany @shuhaowu 
cc: @Shopify/webscale
Chaining errors like this, wouldn't that have the issue of something like: `ready listing file /file/file: seeking to the beginning of file: wat`

Not sure if there is any better way... Just a thought.