Moved functionality from OutputWorker to OutputModuleCommunicator

The Schedule class was doing a dynamic_cast<OutputWorker> on all workers in order to communicate with the OutputModule. This will not work when we go to the threaded framework since there will be several different OutputModule types with different workers. The solution was to abstract the communication with the OutputModule into a OutputModuleCommunication base class.
Merge branch 'CMSSW_7_0_X' into outputModuleCommunicator

The Schedule class had conflicts since the recent topic #36 moved Worker handling
into a WorkerManager class and out of Schedule. This merge reconciles that change
with the change to use an OutputModuleCommunicator class.

Conflicts:
	FWCore/Framework/interface/Schedule.h
	FWCore/Framework/src/Schedule.cc
Merge pull request #54 from Dr15Jones/outputModuleCommunicator

Moved functionality from OutputWorker to OutputModuleCommunicator