Add Friday afternoon workarounds for the birth_date issue

This should more properly be fixed by one or both of:

 (a) PopIt treating empty string dates the same as null
     https://github.com/mysociety/popit-api/issues/98

 (b) Tracing back in this code to where we're setting
     dates to '', and change that to null.
Add loading of PPCs to the create-popit script
Add ALLOWED_HOSTS setting (required when DEBUG = False)
Now we're using create_person, the max person ID is updated anyway
Add a basic page with API documentation
When uploading images, base the MIME type on the file's extension
Add a command to delete all images from the 'images' array of each party
Add a helper command to find the maximum person ID

This is useful if by deleting and reimporting data directly in MongoDB
the maximum person ID in the YNMP database gets out of sync: this
command returns the maximum ID, and it's then your reponsibility what to
do about that. (i.e. It doesn't update it in the database for you.)
Add a simple 'About' page, linking to the source code
Factor out the template code for showing all versions of a person
Rename the template for editing a person's details
Add a template tag to pretty-print JSON in templates
Only offer the 'revert to a previous version' option if logged in
Add a very simple candidate view page
Fix the LibDem Twitter usernames
Let email address settings be configured from general.yml
Reorder keys in human-ppc-decisions.json to be alphabetical
Add a manual decision about a new PPC non-match
Smoother Facebook login

This asks for an email address from facebook and doesn't ask for a
username.  This means that the facebook log in works with a single
click on the facebook auth page.
Use appropriate fields for email / URLs for proper validation