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.