Only create EDFilters and EDProducers when running unscheduled

Previously when running unscheduled, we would first make a module and then check to see if it was an EDFilter or EDProducer. With recent code changes this is a problem when we create an OutputModule which is not on an EndPath. Previously these were ignored, but now the system talks to all created OutputModules which leads to a crash for ones not on an EndPath. This changes uses the module declaration info from python to decide if the module is an EDFilter or EDProducer and only then creates it for the unscheduled.