correct memory free when destroying bst
heap balance implemented
iterator skeletons for bst