Fixes for rerender with changing elements (i.e. renderif).

When rerendering, we may not have the containers' context stack frame; we need
to trust the cmp.getRenderContainer() instead.  Also, when a components'
elements are in the container, that may not be true of the container's elements
in *its* containers; check that in the loop.  The algorithm for updateElements
was wrong, both in how it found the "oldElems" location in some corner cases
and for how it did the splicing if the elements grew; those are fixed.

Finally, the zero-element case is short-circuited earlier.

@bug W-1925611@
@rev goliver@
Merging origin/fabbott/master-pending/rerender-fixes into master