fix(http_backend): don't swallow http request errors.

fixes #376
fixes #224
test(http): Verify bad JSON triggers http.get()'s onError

Closes #230