Add test infrastructure to check memory usage

Add a single test that verifies memory usage of an upload/download
of a file that triggers multipart upload/downloads.
Fix memory utilization for uploads

A ReadFileChunk is introduced so that we can upload file parts
from a file rather than buffering the entire part in memory.

Also, the etag verification for downloads was chnaged. What we do
instead is calculate the md5 writing the file, and if the md5
verification fails, we delete the file.
Fix failing tests from switch to fileobjs for uploads
Update tests to work with python3
Remove commend out code
Add comment about workaround
Fix read file chunk tests for windows
Use ps mem collector on linux as well
Only calculate md5 if it's not an multipart upload
Merge branch 'memory-utilization' into develop

* memory-utilization:
  Only calculate md5 if it's not an multipart upload
  Use ps mem collector on linux as well
  Fix read file chunk tests for windows
  Add comment about workaround
  Remove commend out code
  Update tests to work with python3
  Fix failing tests from switch to fileobjs for uploads
  Fix memory utilization for uploads
  Add test infrastructure to check memory usage