Fixed too much memory usage for s3 streaming

Added memory usage tests as well for streaming uploads and downloads.  The actual snippet of code that I changed was in my original pull request before I rebased off of develop.  I added test for memory usage for both streaming uploads and streaming downloads so that this does not happen again.

Fixes https://github.com/aws/aws-cli/issues/923

cc @jamesls @danielgtaylor 

Yeah that makes sense. I was just assuming the file size was not going to change. So, 133 MB (200 MB *2/3) seemed like a generous enough threshold.  Right now the threshold is at 105 MB but the process peaks to about 106 MB. I will make a new minimum based off the number of threads and the chunksize.  Does somewhere around 115 MB sound good?