Add pagination to announcements show page, refactor code

@cgruppioni @chukdisc
Should I delete this and make a new migration then?