implement BST remove

update function removeNode