No longer copy data for getIterator

This prevents hitting the recursion limit and will run faster. It is up to the user to make sure they do not invalidate the iterators.

Fix small bug in AvlTree introduced last commit.