Paginating results

The find() function has been implemented separately to allow paginating
results using a Paginator utility object. Also added a findPaginated to
automate the task of re-fetching results if the page was out of bounds,
to fetch the items on the last page.