Add separate test running script for those needed for ZA.

In particular, this includes the south_africa module, but not the
hansard module.
Allow child_places to be passed in in context to override the
child_places on an object.
Show constituency office places on the places tab on a province.

Currently this really does show the places rather than the much
more interesting organisations they relate to.
Split stuff for displaying the child places into a separate template.
Use a proxy model for methods we'd like on a constituency office place.
For child places, Only show the distance if there is one set.
Allow setting of subcontent title on related pages by using context.

Also set it to 'Constituency Offices' in the ZA view.
Allow setting of the grouping of child places in the view.
Group constituency offices by party on the province page.

Fiddlier than I hoped because you can't put a grouper in the context
like I tried to in c49de4083939fac172eb6d676888297d0ad20d02. It looks
like someone tried to get a patch to allow this into Django way back in
2005, but didn't write a convincing enough explanation as to why it would
be useful to interest Adrian: https://code.djangoproject.com/ticket/1461

Instead I've used more little templates to achieve a similar result.
Remove odd space.
Initial start at some tests for ZA stuff.
Check that constituency offices are aggregated correctly.

Rather a lot of set up effort for one tiny test, but hopefully
it'll be useful later for testing other things...
Work with different versions of virtualenv, and upgrade pip.
PIP to Pillow, and some other missing packages.
Initial install script scripts and Vagrantfile.
Merge branch 'master' into production