content source refresh with step reporting

Everything is living one file now.  Need to discuss best place to put things.  

I created two steps:

ContentSourceRefreshStep is used to refresh a content source.
ContentCatalogRefresher is used for all sources, so it has ContentSourceRefreshStep child steps.

At this point only the whole catalog refresh works with the step reporting.  The single source reporting will just use the single ContentSourceRefreshStep. 


I really don't think this belongs in server/content/sources.  This package provides functionality that is independent from the context from which it's used.  The step processing plumbing here is used strictly to support specific REST API calls.  This should be in server.steps.content.py.