Fixes a regression with SC.CollectionView that occurred after a previous fix to remove a view DOM leak.  SC.CollectionView previously created a view with the same layerId as the view to be replaced before replacing it, which only worked because of some weird logic external to the CollectionView that used to prevent a view from being able to find its layer if it didn't have a parentView (which was also the cause of a leak because the layer might still exist in the DOM).  In any case, having two views use the same layerId at the same time is a bad idea.

So instead we essentially use removeChild().insertBefore() rather than insertBefore().removeChild() (i.e. replaceChild()).