Warn about identical slugs

www.agileplannerapp.com/boards/173808/cards/5403

As a department editor
When creating a document in Whitehall Publisher
I want be warned of possible title duplicates
So that I can create unique titles and avoid
ugly --2, --3 slugs
Tweaks for clarity
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
Correctly work out action triggering new state.

The existing latest_version_audit_entry_for method returns the *last* audit
entry for a particular state. But if we want (for example) to know who was the
submitter for an edition, we need the *first* entry for the submitted state.

This commit adds an audit_entry_for_state_change method which returns the audit
entry that represents the state change itself.

It also makes a change to the submitted_edition test factory to correctly set
up an audit history including creation and submit events.
Indicate whether the view displays footer metadata
Ensure scrolling navigation doesn't overlap footer meta
Use audit_entry_for_state_change in submitted_by.
Merge pull request #1749 from alphagov/fix_submitted_by

Fix wrong calculation of user who submitted an edition
Add new model for delegating govspeak content to

This is the first step towards storing pre-computed HTML from govspeak. For now,
we've just moved the body over to the delegated association. Validations are
skipped in the data migration to skip the govspeak safety checks, otherwise the
data migration takes an age.
Update attachment cloning to handle delegate body

This insures both the HtmlAttachment and it's GovspeakContent association are
correctly copied when editions are re-editioned.
Rename methods for clarify
Make tests less stubby
Prevent Sidekiq jobs from lingering between tests
Update govspeak to allow spans in safe HTML

govspeak has been updated to allow span elements to pass HTML safety validation.
This is required so that the computed HTML can be saved on GovspeakContent
without numbered headings (which use spans) causing it to fail.
Pre-compute govspeak HTML in background job.

Every time the body on a GovspeakContent instance changes, we want to re-compute
the computed_html. This relies on ActiveRecord dirty tracking to determine when
a job needs to be queued.
Tidy up temporary delegation of body attribute

We want to still fall back to the body attribute of the HtmlAttachment model
whilst the GovspeakContent instance is being created during the data migration.
This also renames the method by which precomputed HTML is accessed with.
Pre-compute govspeak headers

The govspeak headers take almost as long to generate as the body HTML itself as
the entire govspeak has to be parsed to generate them.
Rename html attribute for consistency
Ensure partials can be found in worker

This isn't ideal, but because the govspeak helpers are in whitehall need access
to partials to embed contacts, we need to modify the helpers proxy returned by
ApplicationController such that it knows where to look for the partials.