don't unmarshall http error response

e.g 429 Too many requests is parsed and a cryptic error message is shown:

    rpcCommand: error reading json message: error unmarshalling json reply: invalid character 'T' after top-level value

instead, don't parse unless the response code indicates success
result may or may not be set here, and it's unrelated to the bad status code.  I'd do something like this instead:

```Go
return nil, fmt.Errorf("bad HTTP response code: %d", resp.StatusCode)
```