Threaded Random Number Interface for OscarProducer

Modify OscarProducer to use the new interface for
the random number service that requires a StreamID
argument to the getEngine function. Modify the module
to be a "One" type module with shared resources
declared for GEANT and the CLHEPRandomEngine.
It is also "watching" runs. Note that with this
change it will now seg fault if any random numbers
were generated in the constructor or beginRun.
SimProducer is fixed to deal with the changed module
type. We are presuming the static code checking would
reveal any other threading problems related to making
this a "One" type module. This is for GEANT 4.9.X.
We will need to revisit this when we move to 4.10.X,
which will be the multithreaded GEANT.

The only changes in Validation are the addition of
a missing forward declaration revealed by the other
changes.
Make data members private
Merge pull request #1554 from wddgit/threadedOscarProducerRandom

Multithreading fixes -- Threaded Random Number Interface for OscarProducer.