Add pagination and return_terms support to Riak index queries

This builds on #845 and adds support for pagination and the `return_terms` parameter to the existing model and manager implementations.

The idea is to do this with minimal overhead. If it turns into a rabbit hole full of yaks, we'll need to find a different plan.
`return_terms` lets us use cunningly crafted indexes to avoid having to load each object to find the ones we're interested in. For example, we could find the most recent objects with `return_terms` on a timestamp index.