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.  
This doesn't work in phantomjs - the native timeout is ignored. We'll have to implement a fallback.