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'
Switch to using nose as a test runner
Add yanc ("Yet another nose colorer") for coloured test output
Move the settings module into a settings package

This is to support multiple settings modules in the future, as
suggested in Two Scoops of Django.
Add a settings module only run running the tests

This can be used with, for example:

  ./manage.py test --settings=pombola.settings.tests
Fix a failing test

Nose looks for methods that contain test after any word break:

  https://nose.readthedocs.org/en/latest/writing_tests.html#writing-tests

In this case, get_test_file_content is a helper method rather than
a test, so mark it with @nottest.
Only try to include country-specific URLs if COUNTRY_APP is truthy

For running the base tests, we'll set COUNTRY_APP to None, but
without the change in this commit, it would error on loading
urls.py.
Using assertIn will give a better error message on test failure
Update a test that uses the Google geocoder for its current results

This is just a temporary fix; really the test shouldn't be relying
on a network connection and hitting an external API, and instead
sample data returned from the API should be saved and supplied in
the test, as suggested here: http://stackoverflow.com/a/7564101/223092
Fix incorrect references to the settings module

The settings module should never have been referred to as
pombola.settings instead of from django.conf; this was exposed
by the move of the settings module into a settings package.
Make sure that the interests_register tables are created

Nose tries to run the interests_register tests, but they will
fail unless the interest_register app is added to INSTALLED_APPS,
because its tables won't be created in the test database.
Move core_set_iebc_api_ids.py, which is Kenya-specific
Skip South Africa tests if the COUNTRY_APP isn't south_africa
no_stderr decorator: restore sys.stderr if there's an exception
Fix the paths to kenyan election data
Remove some old debugging output
Guard code that depends on Kenyan PlaceKinds

Nose imports every module to look for tests, so these assignments
would cause an error in the test environment where those PlaceKind
objects won't exist in the database.