Non-mapreduce Riak search

I'd be more comfortable with something like:
```
keys = []
num_found, new_keys = self._search_iteration(bucket, query, rows, 0)
while new_keys:
    keys.extend(new_keys)
    num_found, new_keys = self._search_iteration(bucket, query, rows, len(keys))
```
because that way we'd never get stuck in a loop that is always returning ``new_keys == []`` but with ``len(keys) < num_found`` because some keys were missed completely. I'm not 100% sure whether this issue can occur in practice (the Riak docs were a bit sparse).