Don't require auth middlewares if not taking advantage of instances
Don't query database needlessly in get_ancestors.

If the section knows it has no parent, it can just return itself.
Fixes #336, thanks to James McKinney for the suggestion.
Merge remote-tracking branch 'james/user'
Merge branch 'issues/336-shortcut-get-ancestors'
Fix a couple of untranslatable strings.
Only show Add buttons if logged in.

Add a block to speech form page header for overriding.
Have left margin on all header right buttons.

To prevent a tip (or other unknown content) jutting up against.
Fix pre-commit hook for editing dependent files.
Some PEP8ification - without fixing all long lines.
Add type column to Speech

This will be used to store what sort of speech it was, so that we
can distinguish between 'narrative', 'scene', etc.
Default type to 'speech' if there is a speaker else 'narrative'.

And default it to 'speech' for anything with a speaker and 'narrative'
for anything else. This preserves the status quo as far as the forms
go. Later on we can implement type in the authoring interface.
Make speech css class dependent on speech type.

Instead of doing an if based on whether or not there is a speaker,
use the type of a speech to name the css class. This should preserve
the current classes based on 'narrative' and 'speech' for speeches
with or without speakers, but will allow speeches which have other
types to have sensible classes for the future.
Display speech type on the speech_detail page.

On this page I think we should display the speech type in full, as
it's the most detailed page for a speech.
Record Speech type in the AN importer.
Add a test for the AN importer.

Very basic for now, but at least with something there it can be
improved later.
Add speech types to shakespeare loader.
In BaseParser, set type if not set.

To 'speech' if there is a speaker, or 'narrative', otherwise.
Subclasses can avoid this behaviour by setting type on Speeches themselves.
A bit of whitespace tidying.
Add test for AN rendering of a basic section.

Note that formencode is now required for testing in order to compare
xml documents.
In AN, Output speech type rather than just 'speech' or 'narrative'.

Instead of always outputting 'speech' or 'narrative', output the
actual type of the speech, which could be 'question' or 'scene', etc.

If the type has been set to something not allowed by AN, render
it as 'other'.