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
This should probably make use of `< http.StatusOK || >= http.StatusMultipleChoices` rather than using magic numbers.