only upload file to AWS if MD5 hash has changed

Compares an MD5 hash of the local file to the stored MD5 on S3 (in the etag field) before uploading so that only changed files get uploaded to S3. Save time and $!
assuming more providers can be added a better style would be:
```ruby
case config[:provider]
when "aws" then files.each {|file| md5_by_key[file.key] = file.etag}
end
```