Fixes for iteration re-rendering after empty.  Significantly, we need
iterationHelper to work in terms of the underlying ArrayValue.remove (rather
than unwrapping it and using Array.splice), so that we can adapter when the
reference node is removed.

We really need to get rid of the reference node entirely, of course, and
maybe deal with reference node issuesd in setValue (but they may have been
destroyed by then, which is why I prefer this fix now).

@bug W-2104215@
@rev ssun@
Merging origin/fabbott/master-pending-iteration_empty into master