Bunch of improvements and tweaks to selser/wt2wt sep handling

DOMUtils
--------
* currentDiffMark was returning the wrong return type
  (false instead of null) in some cases which then caused the
  wrong result for hasCurrentDiffMark.

* Minor: Tweaked setDiffMark to not add duplicate diff markers.

WikitextSerializer (selser)
---------------------------
* Stripping leading/trailing separators on original source of
  a selsered node is unnecessary (and actually buggy). Our DSR
  computation is tight, that is, DSR ranges for a DOM node does
  not surround leading or trailing newlines. So, the original
  source will not have any leading or trailing newlines from
  separators outside the node itself. Newline separators found
  in the DOM subtree apply to parent--firstchild and
  lastchild--parent pairs, and they ought to continue to be
  present when selser outputs the original source.

  Since this is being done on a node with valid DSR that has
  not been modified, not even the wrapper node could have been
  modified -- the entire subtree is completely unedited.
  So, HTML --> wikitext edits of wrappers will not go through
  this code route either.

  This simplifies the selser code path some more and also
  gets a whole bunch of new selser tests passing.

* TEXT and COMMENT nodes always go through regular (non-selser)
  serialization and the currNodeModified and prevNodeModified
  flags were not being updated there.

WikitextSerializer (wt2wt)
--------------------------
* makeSeparator was unconditionally appending newlines to the
  collected separator when those didn't satisfy minimum-newlines
  constraint. However, that is buggy. In some cases, the newlines
  have to be prepended.

  Ex: "a<p><!--c-->b</p>". When making a separator while processing
  the text-node "b", sep would be "<!--c-->" and is missing the two
  needed newlines. But, they should be prepended to sep, not appended.

  This fixes awkward html2wt serialization in a test case (updated
  that test in parserTests.txt). This also improves selser output
  and brings selser and wt2wt in sync in tests.

* Since tabs no longer trigger indent-pres, it is sufficient to only
  test for regular spaces in reg-exps in makeSeparator.

WikitextSerializer (cleanup)
----------------------------
* Minor: Added comments and FIXME in a couple places.
* Minor: Removed unnecessary checks.

Testing results
---------------
* Over 40 additional selser tests are now passing.
* About 25 (previously blacklisted) selser tests changed their output
  which seem reasonable changes.

Change-Id: I22d64d10105087eb2fafda1c40512a3bcea777d2
Merge "Bunch of improvements and tweaks to selser/wt2wt sep handling"