updated tests and their layout,  changed the Search method to a non-recursive version, fixed a bug in BuildTreeFromRange, and overloaded ToString