Implemented HttpAdapter with guzzle

I'm gonna add some comments to the code, would like for you guys to let me know what you think about it.
But then, won't we be downloading the whole file? 
Doesn't that defeat part of the purpose of having a stream?
Also, as I understand, the caching (in the Filesystem class) will use the stream to get the metadata. So if we provide a stream to the tmp file, wont the metadata be wrong?

There must be a more elegant way of doing this... I will ask the guzzle project about it.