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.
Correct typo
Move manually_numbered_headings to GovspeakContent

We need to re-compute the HTML when the numbering scheme changes, otherwise
we'll be serving stale HTML.
Mark old columns as deprecated

This will prevent ActiveRecord from throwing any hissy fits when they are
eventually dropped due to it trying to update/set non-existent columns.
Gracefully handle re-editioning during interim

This is some more temporary code to handle the state between the code being
deployed and the data migration to move the body to the new model has completed.
If a user should re-edition a document during this period where a HtmlAttachment
doesn't have an associated GovspeakContent instance (i.e. before the data
migration has completed), then we want to clone the attachment and manually
create the new assocation. This will be removed in the cleanup pull request to
come later.
Remove old, unused code

This data hygiene code was relying on columns that will no longer exist, which
was causing the build the break.
Merge pull request #1753 from alphagov/pre-compute-html-attachment-govspeak

Precompute HTML attachment govspeak