Move hashing to ETag header

This change-set moves the has provided for blobs into the ETag header
which can be retrieved with a `HEAD` call to the endpoint of the blob,
but is also returned when retrieving the file.