better error handling
Support readable stream as "body" option for PUT/POST requests.
Accept "returnResponse" option to return response object, not a body.