Send etag on upload

This way, Swift can detect if the file's contents were corrupted in
transit and react appropriately (a 422 Unprocessable Entity response).

This protects the files from both accidental corruption from a noisy channel and from deliberate* corruption from, say, the awful proxy server that your company** forces all HTTP and HTTPS traffic to go through.

For reference, docs for object PUT are here (search for "ETag"): http://docs.openstack.org/api/openstack-object-storage/1.0/content/PUT_createOrReplaceObject__v1__account___container___object__storage_object_services.html#PUT_createOrReplaceObject__v1__account___container___object__storage_object_services-Request

\* stupidity? malice? who can say?

\*\* not my company, thankfully, but I know people saddled with these