Call G4RunManagerKernel::WorkerDefineWorldVolume() from worker threads

Helgrind reports got me read Geant4 code more carefully, and I noticed
that from worker threads one should set the geometry
WorkerDefineWorldVolume(). However, since we don't employ
G4(MT)RunManager, we have to call
G4TransportationManager::SetWorldForTracking() by ourselves.

WorkerDefineWorldVolume() seems to avoid writing to the (global) world
volume object, something that DefineWorldVolume() does.

Fixes some Helgrind warnings
Remove unnecessary EventSetup parameter from RunManagerMT::initG4()
Reorganize run initialization in RunManagerMTWorker

Towards supporting multiple runs in a job.
Add state loop to the master thread in OscarMTMasterThread

Needed to support multiple runs in a job
Separate beginRun() and endRun() from OscarMTMasterThread constructor and stopThread()

Needed to support multiple runs in a job
Start master thread from initializeGlobalCache() and call corresponding transitions from globalBeginRun/globalEndRun/globalEndJob
Read from ES only during the first Run

Mimicking the behaviour of RunManager::initG4().
Merge RunManagerMTInit to OscarMTMasterThread
Add missing call to G4CascadeInterface::Initialize()

Fixes some Helgrind warnings
Cleanup