Handle non successfull HTTP responses

This change set equips the RPC client with handling of non successful
HTTP responses. An HTTP response is considered non successful when its
status code is not in the range 200..299

This should enable, for instance, graceful handling of `429` response codes which are sent when the client is throttled. See conformal/btcwallet#107
I think it's more understandable what this is doing without using http.Status* consts.