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
I give define it there and give it a name so that the parallel loop is more readable. If I put the persistence logic in the loop, it will shadow the concurrency controls.

So this case of defining a func is not for DRY, it's for readability.