Item12104: Initial refactor of iterators

They are in common with the PlainFile and Compatibility loggers

With callbacks, could probably be used by LogDispatch.

git-svn-id: http://svn.foswiki.org/trunk/core@16515 0b4bb1d4-4e5a-0410-9cc4-b2b747904278