Safer stream handling

for example [`request`](https://github.com/mikeal/request) returns a stream that has a `path` attribute (the path on the server) but will cause `stat` to fail and throw.
Make sure the file is there before we `stat` it

No try/catch
Merge pull request #9 from refack/patch-1

Safer stream handling