Support rate limiting

Re: API-67
I think (not entirely sure, I haven't done that much error handling) that it's more idiomatic to do a type assertion here to assert that it's a `TooManyRequestsError`, rather than check the error message. That also gets rid of the `result.Error().Error()` line:

```go
else if _, ok := result.Error().(*TooManyRequestsError); !ok {
  t.Fatalf...
}
```

(Also, I don't know that that's the right syntax, but you can Google it if I'm wrong)