added pagination mixin, separated abstract view from controller

added tests, still need tests for list_of_things