Improved support for badly nested list and inline tags.

* Wikitext of this form seems to be commonly used to apply the
  inline tag to every element of a list.  This kind of wikitext
  relies on Tidy's fixup (on output from the PHP parser) since
  an inline tag cannot be used to wrap a list.
------
<small>
*a
*b
*c</small>
------

  In the case of Parsoid, the HTML tree builder does a similar
  sort of fixup, but it then leaves some messy builder-corrected
  tags in the DOM. The findBuilderCorrectedTags DOM pass didn't
  correctly deal with kind of DOM, plus the serializer didn't
  handle the output either.

* This patch does a better job of detecting auto-inserted/deleted
  start/end tags which is cleaner. Plus, the list handler in the
  serializer is able to skip over auto-inserted wrappers while
  serializing lists.  TODO: Check whether this kind of support
  is only needed for lists or if this shows up in other contexts
  as well.

* The above WT now rts correctly. This patch also eliminates RT
  errors on en:The Mouse and the Mask and several other pages.

* 1 more wt2wt test green, but 2 wt2html tests fail -- these are
  spurious failures since the parser now no longer emits empty
  nodes whose start and end tags were both builder-inserted.
  The parser tests output need fixing.

Change-Id: I07bedc3d89fd8a27dac6bb9220a41119b34d4297