Big cleanup (very little tested) on Iterator<> code - so no longer need at outer level the magic ++, and no longer have fDoneFlag (instead just do get call in CTOR and use fCurrent optional value as flag)