BinarySearchTree has been made purely recursive - and is the base class for AVL and Red Blac Trees

SafeBinarySearchTree has been added and uses purely iterative algorithms to prevent stack overflows in a very tall tree

AVLTree has been refactored a bit and optimized a bit as well

RedBlackTree - Initial checkin. Could probably be improved upon, although it does currently work as expected.