Converted to FP Complete Haskell Center
Initial map implementation
Initial Variable implementation
Modified Map to use the common ListLog abstraction
Starting unit tests for maps, with common testing infrastructure
Removed an extraneous forall
Lots of big changes: a good first stab at a clustered map test, plus introduction of the Causal monad, which ensures that operations inside it (whether local or distributed) are sequenced properly. More specifically, the Causal monad ensures that the results of distributed operations are sufficiently propagated before continuing on to the next logical local action. This translates into code that can assume that the effects of earlier lines in the Causal monad have occurred before lines later in the Causal monad.