added a few functions to work with trees. (mainly special ways to map over trees)
fixed a few problems appearing when working on infinity trees.

a few functions had to be rewritten to guarantee lazy evaluation.
nicer tree visualisation
depends on newer versions of some libraries.

This forces a major version change
fixed cabal file