Enabled root deletion for zero and one child roots

Before, if your tree was lopsided or only consisted of the single root node, deleting the node would do nothing.  This fixes this so the root node is actually deleted (and replaced if need be).  I added a test case to test_binary_tree.py.