Add pagination to announcements show page, refactor code

@cgruppioni @chukdisc
This should be in a separate migration. Don't edit past migration files that have already been merged into master