Issue #184 - Correct behavior of repeated Iterator.remove() calls

This change addresses both repeated calls to remove() and remove() called before next().