Allow limiting of real_search results

Currently `real_search` returns all keys. Add an extra optional parameter `start`. Return keys from `start` to `start + rows` if `start` is not `None`, else use the previous behaviour of returning all keys, fetching them in `rows` size batches.
Maybe we should have separate tests cases for ``start=0`` and ``start=2``?