Avoid data race condition when remembering what was the previous MessageLogger configuration on the thread

Previously the code was caching into MessageLogger itself the previous state of the MessageDrop before entering a module. This was used to then attempt to reset the state after leaving the module. This doesn’t work correctly in a threaded environment. The state being remembered was just the default state between modules and is actually known at construction time. Therefore the default values are now only set at construction time. [Found by helgrind.]
Merge pull request #986 from Dr15Jones/fixDataRaceInMessageLogger

Multithreaded fixes -- Avoid data race condition in MessageLogger