Tweak weights add text signature.

I adjusted the weights to match the suggestions of the BULD paper
and also added a textSignature which is the sum of the signatures of
*just* the text node children. I will use this to spot elements that
have immediate text changes.
Test change: ensure node being removed is correct.
checkpoint. This can be squashed.
checkpoint
checkpoint
checkpointing the work rewriting domdiff
test fixes, old code deletion
Implemented elementMove. All tests are passing.
Removes unused priority queue
Implements a real fix for 4736
Allow rememberedNodes to be garbage collected properly
Remove the weights (now unused)
Some initial cleanup
Cleanup/comments
Copious commenting
Add a check and error for conditions that shouldn't happen.

This fixes the current locking problems (but does not actually fix
the condition that caused the infinite loop). This does add a failing
test that exercises these new conditions.
Cleanup based on review comments
whitespace fixes for jshint
Largely fixes the reparenting problem.

This change fixes the fundamental problem behind the test that was failing
in the previous commit. When moving an element, the element needs to be
removed from the DOM so that the afterID and beforeIDs generated match up
correctly, so that DOM removal now happens at the rememberNodes edit.
This change also notices when an element has been moved relative to the
old DOM.

Note that the test is failing in a different way now: it adds two
textReplace edits that are identical when there should only be one.
add edit logging for now