Move autocomplete_override_message to field on `Response`

An enormous amount of time was spent joining the `autocomplete_override_messages` table which was unnecessary as there should only be one message per field so it can be stored on the `Response`.

I’ve also renamed the field `explanation` as that was what it was being used for.
this is already a boolean
Look up mandatory questions via database
Remove commented out code
Only select question id instead of loading whole model
Simplify logic of filter
Move all progress calculation to server side

I don’t think the math in the previous version was correct
so neither is the new one.

Untested as yet as setting up a survey is difficult
Use scope defined in question
Greater than on strings is undefined

check for not null instead as there are no blank strings in the questionnaires
Store certificate in local variable

It is referenced so often that it cleans up the template a bit
Only check url responses once on save

Instead of continuously checking them each time.
Domain name not existing counts as an error
Merge pull request #972 from theodi/feature-store-admin-in-database

mark as admin in database
Merge pull request #967 from theodi/feature-active-record-optimisation

Active record optimisation
This index didn't exist on live o_O

Maybe that's what was making it quite slow
Correct migration to find all duplicate records

and only remove the duplicate with no value
Remove pointless line
Delegate published? query

If certificate is not published then don’t explode