GlobalSimulation - provide a thread-safe Reigister for Global Algorithms
GlobalSimulation invokes number of "not thread safe macros"
The main problem is the AlgFactory class - which is a mutable Singleton.
This is probably not a problem in that all uses of the factory occur either at program initialisation or in the non-threaded initialize() method.
However, this is current - and foreseeable - use. The current merge request creates a new class - AlgRegister - which is thread-safe in case the unforeseeable occurs.
The merge request contains a small amount of code which future merge requests will build upon.