introduce enumerator to do pagination

It's due to the interface around the request/response. As far as I know, all the headers in the response are lowercased automatically. The ones in the request aren't auto-capitalized, I don't believe. The actual headers sent over the wire are `Range` and `Next-Range`.