Fix to take care of root node in removeNode().
This commit also includes some fix for unexpected behavior in doNode(),
when min node is equal to node->right.