Avoid comparing invalidated iterators

I thought invalidated iterators were like pointers, no longer deferenceable but still comparable.  Apparently you're not supposed to compare them.

Rather than complicate it further, just used a goto.  C++, please implement [labeled breaks] (http://dlang.org/ctod.html#labeledbreak).

-[Unknown]