Added Search() method to BinarySearchTree (search by predicate)

* added Search() method that searches by predicate
* unit tests for new method