[#179] Use S3 ETag as a fallback

* Check first the json-encoded MD5, if exists
* Otherwise, fall back to S3's ETag header field