Non-mapreduce Riak search

We update `num_found` every iteration and we use `len(keys)` as the page index. In combination, this means that we will always get a non-empty list of results unless we've already reached `num_found`. However, it's possible that some of these results will be duplicates and others will be missed completely -- there's no easy way around that.