add a merge_empty_sections flag to merge debateSection titles

NB: This is a different merge into sayit's "pombola" branch, than
the version to master, as we don't have the split into Import{ZA,}Akomantoso
(For master, see the issues/pombola/1072-avoid-empty-sections-candidate
branch instead.)

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:

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

Following messages squashed from work from @evdb, squashed:

Extract value from kwargs, don’t repeat default, pass kwargs on to parent class

Add JSON containing the section titles that we expect to see when processing the XML file (before empty sections purged)

Add checking section titles as expected to the tests

Count child nodes correctly... note the use of countchildren
due to len(child) working differently in lxml.objectify than
with standard lxml.

Better logging/diff output on test failure