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.