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. 


Just my $0.02 but ```get_generator()``` is like ```get_list()```.  It's pretty non-descriptive and unnecessarily coerces the step writer into a specific implementation.  Honestly cannot think of a better name but think the method should be documented as returning an *iterable*.