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.
Does this mean that `index_keys` returns a different data structure depending on `return_terms`?:
  - (index value, key) pairs when it is `true`
  - key pairs when its value is not `true`