WTS: More robust handling of zero-child case in serializeChildren

* If a node has a no children, pass the node itself as the
  lastSourceSep node into chunk callbacks.

* This patch also makes WTS more robust and doesn't rely on
  the DOM pass stripping out auto-inserted empty nodes in snippets
  like:
-----------
{|
|-
{{echo|<tr><td>foo</td></tr>}}
|}
-----------

* Fixes regression on this snippet (with leading whitespace) from
  en:4WD.
-----------
 {|
 |
 | a
 |}
-----------

* Also fixes RT errors for this snippet from:
  en:I Know why the Caged Bird Sings
-----------
<blockquote>a
<p>b</blockquote>
-----------

* This fixes semantic errors on both enwp pages above.

* No change in parser tests (TODO: add more tests).

Change-Id: I01788e7ad96c8ac6b3a20434f77d3dd5ccb94d20