ENYO-2669: VDR: Fix issue with child index
ENYO-2669: VDR: Fix issue with child index

Our old logic for updating `childrenByIndex` worked in most cases,
but wasn't bullet-proof. In particular, it didn't do well in cases
where the indices of existing children changed in "irregular" ways.

The issue that exposed the problem was one in which a filter was
applied to the underlying collection, causing a potentially random
set of items to "disappear" and the indices of remaining items to
change, but similar problems could also have occurred when
non-contiguous items were added or removed, or when items were
reordered. The new logic should work in all such cases.

Also did some minor cleanup and added some inline comments
describing the logic in the infamous `doIt()` method.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton (gray.norton@lge.com)

enyojs/enyo,PKRoma/enyo,PKRoma/enyo,enyojs/enyo