Binary trees

I've implemented immutable Maps in spirit of Haskell's Data.Map.

So far "singleton", "empty", "insert" and "lookup" work correctly.
Adding "delete" would make the implementation almost complete, but it's usable as it is.

Thank's for reviewing.