Fix handleLinkNeighbors.

The handleLinkNeighors transform mutated the siblings of the link node,
which screwed with DOM traversal.  As a result, sections of the DOM were
skipped inadvertently.

This commit tries to establish some conventions to make it safe to use
DOMTraverser for transforms which mutate/delete/replace nodes or modify
their siblings, and fixes handleLinkNeighbors to use this functionality.

This commit fixes the following two bugs:

1. Extra meta tags of type mw:Ext/Ref/Marker in en:Religion_in_Eritrea
which should have been removed by the stripMarkerMetas transform.  However,
these meta tags followed a link with a link trail, and so that section of
the DOM was being skipped.

2. Missing link prefix handling in is:Finnland.  Simple test case (test
with ./parse.js --prefix=is):

  [[mótmælendatrú]]ar
  Aðrir mótmælenda[[söfnuður|söfnuðir]] og

Again, the earlier link trail caused the portion of the DOM with the
link prefix to be skipped.

No parser tests are changed with this patch --- unfortunately all our
parser tests have link trails/prefixes in isolation, so they don't
trigger the bug.  However, I expect this patch to expose the
current html2html failure for link prefixes (see
https://gerrit.wikimedia.org/r/60960) in round-trip testing,
since we now won't be skipping most link prefixes.

Change-Id: I2730bf22bb10c4c9dfb7d33b7ba892a170c2a6a6