Factor out inventory management code to separate modules
Clean up some Binary instances
Add a new hero name
Fix incorrectly referring to object collections as inventories
Rename objects to items
Refactor item slot assignment
Refactor MonadAtomic aux operations somewhat
Rename server commands to requests
Rename client commands to responses
Rename the monad definition and implementation files
Move atomic instances from Main.hs to sample implementations
Change the method of exposing stuff for implementation, not for use

The old method, using the convention that a file is an interface
to a directory and the implementation resides in the directory,
does not extend to classes hidden in multiple directories
(in this case, the other hidden class will be MonadAction).
Split the definition of basic and atomic monads into 2 files
Rename the basic monads
Move atomic modules to a separate directory
Rename atomic types
Rename constructors of atomic types
Rename a couple of things and fix haddocks
Split off server-client communication protocol code into a new module
Mover server connection types to ProtocolServer