added pagination mixin, separated abstract view from controller

Hi Roman,

When you get a chance could you look at this? I'm sure it will need tweaks before it is accepted.

 I made a lot of changes, most of which are pretty straightforward, but I completely changed the way the paginated widgets work, given that we aren't using the infinite scroll approach anymore, and I would like to get some feedback as to whether I did it correctly.

Changes:
-added an optional loading overlay function for widgets into the base widget
-added a master page manager with tests that keeps track of what is in the dom and auto-scrolls when pages change
-added pagination to the list widgets through a mixin that keeps track of the indexes of records given the start value (list of things widget still needs tests, but the new pagination widget has tests)
- improved css layout on abstract page 
-fixed random bugs, e.g. the citations graph issue, the fixed search bar at the top causing scroll issues