fixed all problems with __key_of( ) for VC2012, for gcc there is still a lot of work to do
implemented remove() in bst