Add null check for CURLOPT_READFUNCTION

In the recent version of guzzle, when it do curl_reset(), it will also reset some curl options manually for some reason (see: https://github.com/guzzle/RingPHP/blob/3ea2fc9236d3b10e87115d07a9e0070c1afe430d/src/Client/CurlHandler.php#L109).

Because it set CURLOPT_READFUNCTION to null, and at the same time CURLOPT_INFILESIZE may not be set, so php-vcr will throw the CURLOPT_INFILESIZE check exception.

Just added the null check before it can solve this issue and now php-vcr should compatible with guzzle version 4 / 5.
Add handle for CURLOPT_FILE option

Guzzle 4+ will only set CURLOPT_READFUNCTION when the request is streaming, for other request, we can only get the body from CURLOPT_FILE resource.
Add regression test for read function null check
Merge pull request #83 from yateric/master

Add null check for CURLOPT_READFUNCTION
vcr hooks implementation