Reduce the number of queries performed during indexing
Merge indexing query reduction.
Translation fixes and updates.

* Add translatable labels for model fields.
* Include Select2 Spanish translation file when needed.
* Fix translation of generic form template submit button.
* Include django-popolo strings within .po files.
* Update from Transifex.
Make sure form fields get a label from the model.

By default, redefining a model form field stops the default label pickup
from the model.
Add some more Selenium waits to fix Travis.
Fix section detail indenting.

Switch back change to get_descendants_tree_with_speeches in 7a4e6546
that broke HTML indentation. Should fix #367.
Also Python 3 fix exposed by comparing None to None.
Remove js for elements which no longer exist.
Remove trailing whitespace.
Shift unimportant sections stuff to speeches.js.

There was some javascript temporarily residing in the speech form
template. Shift it to a more appropriate permanent home.
Add a date picker for speech and section forms.

Bootstrap has been removed, but we were still trying to use the
bootstrap date and time pickers. Replace the date picker with
a foundation one. For the moment we'll just put the time picker
back to a text box with a placeholder.

I can't see autoclose mentioned in the fdatepicker docs, so I've
taken that out - the new datepicker seems to close when a date is
selected anyway.

Fixes #366.
Don't set a minimum end date based on start date.

With this as it was, if the start date were erroneously set too far
in the future, and then brought back, the picker for the end date
was stuck with only accepting dates after the original start date.

We should have a proper think about how to make the javascript keep
the dates and times consistent.
Localize formats of dates when adding speeches and sections.

The formats for acceptable dates and the placeholders now change
depending on the language you ask for.