Issue #303 - Check the MD5 checksum to ensure a successful upload to S3

* Generate a MD5 checksum for each file uploaded to Amazon S3, to be
compared with the one returned in the etag.
* Parse HTTP response to extract the etag located in 'Location' header.
* Close HttpURLConnection to release its resources.
* Clean up - use List interface for declarations instead of ArrayList implementation.