ZA Questions index order by alphabetical ministry

fixes #1118.  We now customize the SASpeechesIndex code and templates
for Questions as the required logic is now different than for
Hansard/Committee:

 - we are grouping not by date, but by the alphabetical ministry
   (using normalisation in SQL, and a .extra() clause)

 - instead of using JS reveal on the hierarchy, we link to the intermediate
   minister specific page

 - the details of aggregate count logic for speeches are different, as we're
 now grouping by the speech.section.parent rather than speech.section

See also #1119 which seems to handle the navigation part of the github ticket.
add "the" to "Questions asked to the (Minister)"
ZA: Move sorting of question sections from SQL to Python

The key on which we sort the question sections needed some small
additions anyway, to cover "Deputy President" as well as "President"
and different forms of ministerial sections.  This adds a
key function which can be used with sorted(), and doctests for
its behaviour.

(This might need to be revisited if we need the sections
downstream to still be a query set; at the moment that's not the
case, though.)
Merge branch 'issues/1118/questions-index-page'