Add pagination to announcements show page, refactor code

@cgruppioni @chukdisc
No, I already used it at the controller.