Allow sharing of instances with collaborators.

Create a share instance page with a box to enter an email address.
If we know the email address already, add it to the instance.
For unrecognised emails, create a user with that email and add to the instance.
If the email address is short enough, it'll be used as the username, otherwise,
we use a portion of a hash of it instead.

In either case, redirect the sharer to a confirmation page on success.

The new user gets sent an email inviting them to contribute to the sayit
instance, which a link to follow at which they can set a password and then
be redirected to the instance home page to join in with curating it.
Require user logged in to the correct instance to invite others.
Use correct instance domain in invite accept link.
Log the user in when they accept an invite.
Return to share instance form after successful share.

Rather than a separate confirmation page after successfully sending
emails to share an instance, return to the share page in case you
want to share with another person.
Add a confirmation message to say that the invite has been sent.
Improve template for sharing an instance:

1) Call an instance of SayIt a SayIt
(suggestion from Martin)
2) Short description of what sharees can do.
3) Only a single invite is sent at a time (so make the text reflect this).
Send an email to an existing user on invite.

Also a bit of tidying for email templates, including getting the domain
correct in the links.
Some PEP8ification
More text on the accept invitation page.
Add a message to a newly invited user after setting their password.
Add link to share instance on home and add speech pages.

Plus new speech/section buttons on the home page.

The templates in the sayit app don't have very many blocks at the
moment, which makes them rather hard to extend. django-apptemplates
allows us to extend the templates from speeches without having to give
them new names.