Use XDomainRequest in browsers which can't CORS with XMLHttpRequest

#3 has been open and unresponded to for three years. I +1d it, but went to use that fork and realized it didn't really even work.

This pull request is up to date with 1.4.1, and I've tested it a good amount in IE9 while working on https://github.com/gobengo/chronos-stream, and more important will continue to maintain it for my job @Livefyre in the forseeable future.

@substack, now with some legwork into this, will you please respond and say whether you find this change in scope appropriate for http-browserify and the OOB 'http' builtin?

If you never want it in the builtin, we can close this PR and folks can just use [http-browserify-xdr](https://github.com/gobengo/http-browserify-xdr) manually if they want. But at least this issue will be here for posterity.

If you are supportive, I'll get the README changes out of this PR that I made.
I believe that this actually fixes a completely different bug unrelated to XDR.

If node, if you `http.request` to a bogus host that TCP can't even get to, your callback is never fired and the request fires an error event. I'm pretty sure even in http-browserify@1.4.1, your callback would be fired with a response object even though the HTTP connection was never even made.

If needed I can make a separate pull for this.