Entity children can be mutated during iteration

Children can be added or deleted from an entity while those children
are being iterated. Added and deleted children are buffered, and
processed after iteration is finished. This allows entities to detach
themselves, and attach new siblings, during Entity#update.