switch-country.py: work around media_root SuspiciousOperation errors

Having media_root as a symlink that can point to one of a number
of different countries' sylinks doesn't work out well, since
on generating thumbnails, the path to write to is resolved completely
and a SuspiciousOperation exception is raised if that path does
not begin with MEDIA_ROOT.

So, instead, just use a sylink media_link.COUNTRY -> media_root
to indicate which country's media_root is currently used.  This
complicates the script, so it's less satisfactory in that respect,
but does allow the testing of uploading files and generating
thumbnails.
Import colours for south-africa rather than libya
Import colours for south-africa rather than libya
Add a skeleton version of the site for Zimbabwe
switch-country.py: add 'zimbabwe' to the known countries
Merge branch 'zimbabwe'
Correct typos
Create links to the various documentation files in the markdown.
Vastly reduce the numer of queries needed for the position views

Previously, the position view could use over a 1000 SQL queries
for a single page view; this commit reduces that to about 90 by:

 - Using select_related to include columns from tables that are
   required by the view.

 - Using an 'IN' on parent place IDs and a select_related on the
   PlaceKind to avoid one query per place.

90 queries is still far too many, of course - the chief culprits
are:

 - Queries for individual rows in the thumbnail_kvstore table,
   used by sorl_thumbnail.  The sorl documentation suggests either
   using memcached to cache the results of these queries or
   using redis instead.

 - Queries for alternative person names via the template's use of
   position.person.name.  We can include these with prefetch_related
   when we upgrade to Django 1.4.

 - Queries for all images for a person, via the template's use of
   position.person.primary_image - similarly, prefetch_related will
   help with these.
Don't include None as a child_place in the position views

The drop-down filter for place on the position list view would
sometimes have empty parentheses "()" as one of the options;
this resulted from not filtering out None places when finding
child places.
Add an option to order positions by the person's legal_name

This is part of the fix for issue #422.

The positions.distinct('place') in finding child places seemed
to be forcing an ORDER BY on the place name, although I would
have thought that calling the distinct method just returned a
new QuerySet rather than affecting positions as a side-effect.
In any case, that call is easy to remove, since we were using
set on the results anyway.
There's no need to explicitly sort the returned places by name

The Place model already has a default ordering on the place's
slug, which will sort the places sensible anyway.
Kenya: make menus link to MPs / Senators sorted by person name

Fixes #422
Preserve the order when switching between grid and list position views
Pin django-model-utils module version to one that supports Django < 1.4
Load homepage content from the info pages app for Nigeria. Closes #671
Whitespace fixups
Update a now-outdated comment
New favicon for Nigeria. Closes #454
Use http://www.mysociety.org instead of its robots.txt in a test

Since the site redesign there has been no
robots.txt file for mysociety.org, but one of the hansard
tests assumed it would be present, as an arbitrary file
to fetch and test caching of.  Any web page will do, so
just use http://www.mysociety.org

Fixes #680