Split ResultSetPresenter#present into multiple bits

Split the base pagination logic in ResultSetPresenter into a private 
method. This will make it easier to subclass this presenter and inherit 
some of the core pagination behaviour whilst changing how the results 
are presented.