Use InstanceTestCase from django-subdomain-instances.

There is no need for SayIt to have its own version of
InstanceTestCase if the django-subdomain-instances one
takes options for the default instance that's created.
A bit of PEP8 for helpers.py
Define titles in the views rather than the templates.

This will allow us to re-use those titles for Opengraph things shortly.
Override MEDIA_ROOT as well as MEDIA_URL.

This has two desirable effects:

1) The files created by the tests are in a temp directory which is
deleted at the end, so don't end up cluttering up the real MEDIA_ROOT
directory.

This could be done better with a context manager - probably in a class
decorator, but the temporary directory should be deleted unless things
go wrong.

2) FileSystemStorage keeps its own copy of MEDIA_URL, so
override_settings(MEDIA_URL=...) doesn't make all the tests pass all
the time - exactly which ones fail and when seems to vary depending on
the system.
Add OpenGraph data and tests.

Add Opengraph data to the base template, so it appears on every page.
In particular, tailor it to
* instance home pages
* speaker detail pages
* speech detail pages
* section detail pages

Allow testing of OG keys against regular expressions or strings.

A dictionary of OG keys to tests can be passed in to a utility
function for testing the OpenGraph data at a URL. The keys are
OpenGraph keys without the initial 'og:', the values are either
strings of the expected output or regular expressions which must
be found in the expected output by searching.

Additionally any OG key which should contain a URL is checked to
make sure the URL is absolute.
Skip tests which need override_settings(MEDIA_ROOT) in Django 1.4.

override_settings(MEDIA_ROOT) isn't made to sort out FileSystemStorage
until Django 1.5: (https://github.com/django/django/commit/a24ffa52d029)
so let's skip tests that need that in 1.4.

In speaker_tests, instead of skipping the whole test, which does other
useful stuff, I've just put an if around an assertion.