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 improved the comments in the method to make it clear that any iterable is ok to return.  Also made correction as to which method will then operate on each of the items in the iterable.