Feature/fix 11 streaming request

Fix for #11

Allows the configuration of cache path in order to be available for the invoker to clean it after use when doing streaming requests.

cc/ @koke  
Here's why I suggested a subclass. What happens if this was initialized without specifying a cache path, and the caller is using `bodyStream`? The file could be deleted before it has been read.

I think `bodyStream` should only be available if the caller specifies and manages a cache file