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
You can extract this out to something like:

	localLog := logrus.WithField("filename", file.Name())

	localLog.WithField("error", err).Error("closing file")

Not really a strong opinion but it does make things a little nicer..