Initial work to do content source refresh with step reporting
Reworked using the IterativeMixin
Added API endpoints for refreshing content sources

This also added more logic to the Step class to handle iterative
steps.
The new Step subclass refreshes a list of content sources.  It is called
from celery tasks.

Still need to add docs and more unit tests.