Refactoring refreshers' core logic into mixin

Supplants #777 for now.  That PR will be remade later based on this code.

The main purpose here is to introduce a common way to set the refresh status and
handle some common logging for the EMS Refresh process.

Two caveats:

1. The status/logging was copied/pasted for VC Refresher since the logic there
   is quite a bit different from the other refreshers.
2. The NonEmsRefresher wasn't touched, since it's not an EMS refresher

Why not just put this logic into the base_refresher?  Because not all refreshers are EMS Refreshers.  The mixin approach allows only the EMS Refreshers to adapt to this logic flow.

@Fryguy, please review
Yeah, @matthewd, the autoloader has bit us many times.  This is one of the reasons I wrote the [include_concern](https://github.com/ManageIQ/manageiq/blob/master/vmdb/lib/extensions/as_include_concern.rb) method.