Add an interface for iterating over results divided into pages
Switch the user query to use a paging system
Fix the tests so that they use the new paging system for users