Riak 1.4 Feature: Secondary Index Enhancements

Riak 1.4 introduces several new features to secondary indexes,
including pagination (limiting result sets and providing a
continuation "cursor"), streaming (not buffering the entire result
set on the server-side), and returning the value of the index entry
as well as the key.

- [x] Support streaming results (stream = true)
- [x] Support max_results (pagination)
- [x] Support continuation (next page in pagination)
- [x] Support return_terms (get index value)

```ruby
# These are some suggestions for how the API might look. Note that
# pagination, streaming, and return_terms can all be combined into
# the same request.

# Streaming
bucket.get_index("foo_int", 2..10) do |keys|
  # `keys` is an Array of Strings
  puts keys
end

# Pagination
page = bucket.get_index("foo_int", 2..10, max_results: 1000)
# `page` should duck-type as an Array
page.each {|k| puts k }
page.continuation # returns the opaque continuation
more = page.next_page # Automatically fetches the next set of results, but should take same options as #get_index

# Return terms
pairs = bucket.get_index("foo_int", 2..10, return_terms: true)
pairs.first # [ index_value, key ]
            # Since this is an integer index, the index_value
            # should be coerced to an integer
```