Add email signup information page for MHRA

This is specifically for the MHRA now but could be useful further down the line for other organisations too
Add some styling for email signup information
Calculate govspeak headers once for CIPs

This means that the headers are only generated once, saving a fair chunk of time
processing the govspeak.
Calculate govspeak headers once for guides
Calculate govspeak headers once for policies
Calculate govspeak headers once for priorities
Calculate govspeak headers once for policy groups
Calculate govspeak headers once for world offices
Calculate govspeak headers once for take part pages
Calculate govspeak headers once for statistical data sets
Calculate govspeak headers once for worldwide organiastions
Add more organisations to scoped search list

Based on feedback and analytics, we believe that most searches performed
from pages with a primary organisation of either the Environment Agency
or the Legal Aid Agency will be improved by scoping the search results
for those agencies.  We checked the top 20 searches from such content
manually, as part of considering this, and they all either have very
similar results, or look much more likely to satisfy users with scoping
turned on.

This change simply adds the EA and LAA organisations to the whitelist to
turn such scoping on.

Story at: https://www.pivotaltracker.com/story/show/78720082
Merge pull request #1759 from alphagov/scope-searches-from-ea-and-laa

Add more organisations to scoped search list
Simplify use of govspeak_header_contents partial

Instead of passing in the computed headers data-structure, pass in govspeak and
let the partial do the work.
Simplify use of document_contextual partial
Delay queueing of GovspeakContentWorker job

We delay the processing of the govspeak so as to ensure that the GovspeakContent
record actually exists in the database. This is necessary because the
re-editioning process (which clones HtmlAttachments, and thus GovspeakContent)
takes a while and the transaction this happens in may not have completed before
the job is picked up, resulting in ActiveRecord::RecordNotFound errors.
Merge pull request #1758 from alphagov/govspeak-headers-calculations

Optimise rendering of govspeak headers on public-facing pages
Merge pull request #1760 from alphagov/delay-govspeak-content-job

Delay queueing of GovspeakContentWorker job
Make dedupe_stats_announcement more idiotproof

I had to go raking around in router-data to find where the redirect
should go.  So I thought I'd help the next person.
Stop moving of a secondary to primary tag failing

This means that an existing "secondary" instance is updated to be "primary"
instead of attempting to create a new "primary" one, which would fail because of
the uniqueness constraint on the `SpecialistSector` model.