BinarySearchTree:smarter bst_remove() function