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
This is on purpose. From experience, it's the clearest way of figuring out where the error come from and what condition caused it.  I could replace the `:` by a `,`, but that's just a matter of style.