Topic/enhancements

I'm working on a branch that takes advantage of these enhancements, but they are otherwise separate from the logic I'm adding. I'm raising this PR in isolation to avoid my feature PR from getting to big, and because this part is already tested.

The paginator rewrite and API call refactor should be pretty self explanatory.

The purpose of taking a load callback for `reloadContainerOnClick` is to select and activate all popover dom elements *after* the new markup loads.
Consider instead doing the following (https://docs.djangoproject.com/en/dev/topics/pagination/#django.core.paginator.Paginator.count):
```python
row_pages = RowPaginator(query, PAGE_SIZE)
row_page = row_pages.page(page_number)
...
'row_count': row_pages.count
...
```
Internally the Django paginator has to retrive the full item count anyways, so I would ~~assume~~ hope this avoids an extra DB query