New mechanism for determining tag changes.

Tag changes are now spotted when IDs are assigned and given new IDs,
allowing all of the normal insert/delete machinery to work. This
also fixes a bug when inserting elements in between unchanged
text nodes.
Testing tag change with child elements.

Also added comments for the new fixupElementInsert function