Pagerfanta / Move pagination out of the Controllers (Actions) and into its own method

Move pagination out of the Controllers (Actions) and into its own method

This commit tries to enforce a bit of separation of concerns:

- Don't bind the model (db), view (tpl) and controller (action) together by pagination, but get the whole Collection from the model, and let the controller handle pagination entirely.
- We'll use Pagerfanta to handle the paging (they have really nice OOP way to do so)

Also, this breaks backwards compatibility for modules. In following
commits, the default modules will be fixed. Other modules will have to
update their actions (with cleaner actions as a result).


I did manage to keep some things though:

- Keep the same logic as before, but write it cleaner
- No changes to template files necessary