Thread safety via locks
The main point of this MR is to extend our core monads by the ability to acquire and release different locks, to increase the thread safety of our code. The foundation for this is laid in BB4GG.Core.Monad.Unlockable
and reading the documentation there should be a good starting point.
Something that is not yet integrated into the new framework is the handling of computations; that should probably be done at some point though.
Additionally this does a sizable amount of refactoring, in particular splitting a lot of our core functionality into a number of files.
Edited by Robin Stoll