Fix removeNode() not deleting node from parent

When removing a node, it must also be deleted from its parent children list.
Otherwise, sorting the parent branch will put back the deleted node in the tree.