Rate-limit requests

Also automatically retries requests that were rate-limited
Yes, it definitely _could_, the problem is we can't be 100% sure that the server agrees with us regarding how fast we're making requests, so any set number of retries means that somebody might get unlucky and lose a request. This isn't great for e.g. the bulk-import use case.