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.