TypeIndex::iterator inherits from std::iterator

This allows std::algorithms to be used with it.
Use index iterators .. they are much faster
Fix bug with recursive call.
Another recursive call bugfix
remove obsolete interface from unit test
performance diary update