Thread safety improvement BeamHaloProducer

This adds a declaration of a SharedResource to the
BeamHaloProducer. The shared resources are global
variables the module uses. This ensures thread safety
in the case where multiple BeamHaloProducers are run
in the same job (practically speaking this probably
never happens).

More importantly, the static code analyzer reported a
thread safety problem. A future version of the static
analyzer will not report the problem if
BeamHaloProducer is a one module with a shared resource.
So this should eliminate the warning.