Rate-limit requests

Also automatically retries requests that were rate-limited