emulating old behavior, non success http statuses return an error

Resolves #46 

FYI: the `xhr` 2.0 PR didn't end up keeping the `options.httpErrors` setting which would've thrown an error with non successful http requests. [Here is the commit](https://github.com/Raynos/xhr/commit/5714cde39f9d48e4bd669bb76812782a1e213b84#diff-168726dbe96b3ce427e7fedce31bb0bcL150) that removed that option from the original PR.

We adopted the logic they were using internally in our `libs/util/http.client.js:io` function.