BinarySearchTree methods all filled

maybe there's a better way to do .remove() .... I don't know for sure.
Cleaned up code, added comments.
Needs to be tested.