Introduce atomic commands
Do not spawn a GTK thread, since Windows forces us to use bound threads
Capture actor domination as an atomic action
Produce initial Perception inside the action monads
Spawn clients inside the action monad
Recreating server state is done within the action monad
Do game restart inside the action monad
Add heroes inside the action monad
Move a lot of code out of Server.Action
Use the synonym 'assocs' for 'toList'
Overhaul monster generation and summoning
Introduce atomic commands for inserting and deleting actors
Make the dominateAtomic action reversible
Introduce and use atomic smell actions
Rename semantics modules
Clean up various semantic functions
Display client frame after server abort to satisfy frontend invariants
Introduce atomic item creation and destruction
Move initial item creation to the action monad
Use item containers to fix Apply from Floor/Inventory