"Reset" OscarMTProducer
Strip Service and EventSetup reading from RunManagerMT to a new RunManagerMTInit

The Service object and the objects from EventSetup must be retrieved
in a CMSSW thread.
Add OscarMTMasterThread to represent the G4 master thread
Use OscarMTMasterThread in OscarMTProducer

Using edm::ParameterSet as a global cache feels a bit dirty, but
currently it is needed in globalBeginRun. Maybe OscarMTMasterThread
object should be the global cache and have some kind of hooks for
begin/endRun().
Remove usesResources() from OscarMTProducer
Disable random numbers in initializeGlobalCache() and globalBeginRun()
Move CustomUISession construction to OscarMTMasterThread
Introduce RunManagerMTWorker, move Generator to it from RunManagerMT
Add skeletons for produce() and generateEvent() to RunManagerMTWorker
Add SimActivityRegistry to RunManagerMTWorker
RunManagerMTWorker must be constructed in the constructor of OscarMTProducer

Because the SimProducers have to register what they produce
Adding content to RunManagerMTWorker::produce(), rename setRunManagerMaster() to beginRun()
Add per-thread ID following Chris' suggestion in EDM HN
Add skeleton for per-thread initialization to RunManagerMTWorker
Make DDDWorld::SetAsWorld to static

In order to use it from RunManagerMTWorker
Store DDDWorld as a member of RunManagerMT
Share the geometry between the master and workers
Create worker RunManagerKernel
Test sharing physics list
Enable event simulation