Add Trie2, a potential replacement for Trie.

The type is a bit simpler (no Leaf class). It seems to basically
perform the same, though searching is a bit slower (1.5x).

Also checks in main.scala for benchmarking. Eventually this should
live in another sbt project.
first pass purely lazy collection