Denotational semantics.

A first try.
Denotation compiles.
Transition semantics (incomplete).
Restructured transition semantics (mostly untested).
Fixed: nondeterminism resolution, star operator

* Golog2.resolve didn't propagate in Alt nodes.
* Kleene star operator is now a helper function which exploits
  infinite lists and lazy evaluation. The old construction using
  Prelude.iterate didn't work (well) anyway, because it created an
  Nondet [Nil, p, p;p, p;p;p, ...] node with an infinite list. This
  makes resolution of nondeterminism impossible at this node.
  Now we create a node Nondet [Nil, Nondet [p, p; Nondet [p, ...]]].
  With this tree structure we can evaluate the tree up to a certain
  depth and thus resolve nondeterminism.
Trying to fix new semantics issue.

Only even rewards >= 6 work well with logfile 0007.
Why?
Found semantics problem: order of interleavings.

The order of the interleavings plays a much more important role in our
plan recognition examples (unfortunately, because it's an internal thing
one really shouldn't depend on).

Now the order of the interleavings of the new semantics is the same (or
at least very similar) as in the old semantics.
And suddenly the tests work again.

I think there may be some justification for exactly this ordering, if
the match-actions are the left-most program. We should have a very close
look on this.
Re-implemented Mercury-maze in Haskell.
Maze: added progressive BAT.
Moved trans', do2 to Golog2Util; improved Maze reward function.
Extensive refactoring.

* new interpreter is now Golog.Interpreter with supplementary modules
  Golog.Macro and Golog.Util
* old interpreter is now Golog.Old.Interpreter with supplementary
  modules Golog.Old.Tree and Golog.Old.TreeUtil