Add Rate Limit Status in Cursor and Introduce Cursor#each_page

## Scope

At Product Hunt we've run into troubles with rate limits whilst fetching large collections (e.g. Kevin Rose's followers).

This PR intends to add support for reading such large collections per page and rescheduling the next page read at a later point if necessary, i.e.

```ruby
client.follower_ids('kevinrose').each_page |results, cursor|
  # Process results

  if cursor.rate_limit.remaining == 0
    # Reschedule oneself with cursor.next at a later point
    break
  end
end
```

In order to achieve this the rate limit is added to the cursor, and the ```Cursor#each_page``` method is introduced.
Should return an `Enumerator` if not block is given.