Bug 50120: Avoid paragraph wrapping for DOM fragments with blocks

We represent DOM fragments in the token stream with wrapper tokens. For
multi-sibling fragments we represent the first and last sibling. In some rare
cases however those elements are inline, while a sibling or a child somewhere
in the DOMFragment contains a block-level element.

Additionally, these inlines need to be special content like categories that
are not normally be included in a paragraph. If they were not, then the
wrapping paragraph would straddle the transclusion content, which would in
turn disable fragment reuse.

Our paragraph wrapping was 'helpfully' broken up by the browser in a way that
broke up the encapsulation group for transclusion content. That then led to
the second half of that content bleeding out into the page on round-trip.

TODO:

* Re-parse HTML from source in round-trip testing with a compliant HTML parser
  so that issues like this are picked up.
* Add DOM Fragment reuse testing to rt testing and possibly parserTests

Change-Id: I20f16ab0298092ec60070cbbe96ee8db419ce43f