Read files in chunks to avoid OOM scenarios for large files.
Use the common/shared MD5 function.
Merge branch 's3-hash-chunks' into combined-updates