ZA importer merges empty debateSection titles together

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

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.

NB: this behaviour only happens in the ZA subclass, as per @dracos's suggestion, so this
patch includes minor changes to ImportAkomantoso to call to a make_child_section function
which can be specialised by ImportZAAkomantoso.