Let public setting of speeches be specified in the JSON that is imported.
Partial fix for #83 - only show public speeches in the API
Add `.descendant_speeches` method to Section to return queryset of speeches
Don't run selenium tests unless explicitly asked.

Set the SELENIUM_TESTS environment variable to run the tests.

I have had to manually check the 'skip' flag within the setUpClass/
tearDownClass functions, as they are still run when using nose.
Move related code closer together
Add SectionManager.get_or_create_with_parents(...)
Switch script to use new method
Refactor for clarity
Intermingle subsections and speeches by time.

On a section detail page, we may have subsections, speeches, or both.
If both, use any time information present to try and order them
appropriately.
Do not use wsgi_monitor with runserver.

They sometimes clash and cause runserver to exit instead of restarting.
Give more helpful error when POPIT_API_URL not set

closes #883
Sort numerically as last resort.

Not sure why this was stringified, could cause reordering.
Use database-based index name for search engine.
At top level section list, do not show descendants.
Default missing speech_min entries to a minimum date, to stop
errors on e.g. trees with empty sections.
Add tests for the cache decorator
Fix wrong direction issue with hierarchy swap.

This stops headings being needlessly repeated when moving within a section.
Assign best guess speech_mins to descendant sections missing them,
based on their parents.

This should improve display of sections without any speeches, if
sections around them do have dated speeches.
Test fixes now section order differs.
Extract create_sections for reuse