tree.Remove should return the value of the removed node

its basically a free operation as we already accessed the node for
removing.
add very basic binary search tree

This binary search tree is not done yet. There are stil some methods
and all tests missing. There is also a lot of room for optimizing CPU
and memory usage. However this will be the base for all tree
implementations.