Compatibility with request

Fixes #41 
Not backward-compatible. I propose this to be released as 2.0

I removed all deprecated behavior, The request-alike HTTP error handling is now default, with an option to go back to getting an error when HTTP is not 2xx

xhr also returns a custom response object based on what is a common simple HTTP response in node, and there's a field that holds the original XMLHttpRequest object.  
it's not a response actually. `rawResponse.headers` will hold the request headers. It's the same XHR object that we return initially. 
I can change to `raw` or `xhr` but now that I think of it, we can't call it a response