add a merge_empty_sections flag to merge debateSection titles

(Squashed commit of @osfameron and @evdb's work in
issues/pombola/1072-avoid-empty-sections branch)

if no child nodes are found, we merge the headings (by default,
you can pass in merge_empty_sections: false if you don't want
this behaviour.)

This is to prevent bad parsing of cases such as:

a) multiple titles in a minister's response.  e.g.

    VERY IMPORTANT TOPIC #1
    VERY IMPORTANT TOPIC #2
    (Minister's Response)

b) headings oddly parsed as 2

    1. REPORT OF THE PORTFOLIO COMMITTEE ON HUMAN SETTLEMENTS ON AN OVERSIGHT
    VISIT TO LENASIA, GAUTENG, DATED 22 FEBRUARY 2013

c) (possibly not ideal) prevent empty sections where we're simply not
inferring structure correctly.

    ANNOUNCEMENTES, TABLINGS, AND COMMITTEE MINUTES
    MEETING DATED X

Test changes include checking against a JSON file containing the section titles that we expect
to see when processing the XML file (before empty sections purged)

NB: the use of countchildren to count child notes due to len(child) working
differently in lxml.objectify than with standard lxml.
Fixes based on matthew and mark's comments