Add settings modules for countries and country-specific tests

With these changes, you can now run the tests for a specific
country with, e.g.:

   ./manage.py test --settings=pombola.settings.tests_south_africa
   ./manage.py test --settings=pombola.settings.tests_kenya

... regardless of what COUNTRY_APP is set to in your general.yml

(The non-country-specific tests can still be run with:

   ./manage.py test --settings=pombola.settings.tests )

It also adds settings modules specific to particular countries,
and manage.py has been changed so that when you run, e.g.:

   ./manage.py runserver

... and COUNTRY_APP in general.yml is set to 'nigeria', the
settings module used would be pombola.settings.nigeria.
wsgi.py has similarly been changed to use the settings module
specified by COUNTRY_APP.

This commit incidentally also makes it possible to run pombola
with COUNTRY_APP set to None, a benefit of this being that it's
a useful step to having a generic theme, as with Alaveteli, that
can be overridden and elborated by other implementers.

A further advantage of this change, beyond being able to run
country-specific tests regardless of your COUNTRY_APP settings
in general.yml, is that various country-specific setttings no
longer have to be specified in general.yml, such as:

  OPTIONAL_APPS
  BLOG_RSS_FEED
  BREADCRUMB_URL_NAME_MAPPINGS
  TWITTER_USERNAME
  TWITTER_WIDGET_ID
  MAP_BOUNDING_BOX_NORTH = -22.06
  MAP_BOUNDING_BOX_EAST = 32.95
  MAP_BOUNDING_BOX_SOUTH = -35.00
  MAP_BOUNDING_BOX_WEST = 16.30

... since they're determined by the country, and now kept in
pombola.settings.[COUNTRY_APP]_base.
Remove old test-running scripts, replace with a new one
@unittest.skipUnless isn't needed; replaced by nose's @attr decorator

We now select generic and country-specific tests base on the 'country'
attribute that nose offers, so the @unittest.skipUnless aren't
required any more - it seems tidier to remove them, rather than have
them applied inconsistently.
Remove from general.yml-example settings that are now unneeded

These settings are now all determined by the COUNTRY_APP, and
the value in general.yml is ignored.
Make "./manage.py test" work out-of-the-box

We recommend now that people use the ./run-tests script to run
tests, since that will run the non-country-specific tests as
well as those specific to each country.  However, Duncan Parkes
pointed out that lots of people will expect, when new to a
project, for "./manage.py test" to run properly.  (At the moment
it won't because (a) it will try to run country-specific tests
and (b) it will try to run tests that depend on particular Django
applications even though they may not be in INSTALLED_APPS for
the current country. (a) could be worked around pretty easily
with nose attributes (-a !country in NOSE_ARGS in base.py) but
(b) is more difficult.

This commit changes the manage.py script to spot when someone
is running ./manage.py test without specifying a settings module,
and in that case will make the default settings module
pombola.settings.tests, which runs all the non-country-specific
tests with an appropriate INSTALLED_APPS.
Fix a typo spotted by Duncan Parkes