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.
Merge pull request #1251 from dkliban/2.5-dev

content source refresh with step reporting