Add Globalize3 and support multilingual edition titles

* We've had to define the Edition model in the migration so that
`Edition.create_translation_table!` only moves the `title` column from the
editions table to the edition_translations table. The presence of this model
in the migration allows us to run the migration against an updated codebase
that has added other translated attributes to Edition.

* We've explicitly set I18n.default_locale to :en (english) so that we can
confidently refer to I18n.default_locale in our code.

* We've changed `Edition::Identifiable#update_document_slug` so that it only
updates the slug based on the english title. This is based on an assumption
that, at least for now, all editions will have a primary english translation.

* In making the change above, we've had to update
`Document#update_slug_if_possible` so that we don't generate a new slug if an
edition is saved in the presence of a new edition with the same title. This
was previously achieved by the `if title_changed?` condition in
`Edition::Identifiable#update_document_slug` but Globalize3 made that
problematic. We initially tried to put this conditional logic in
`Document#should_generate_new_friendly_id?` but that turned out to be too
awkward.

* We've also tried to clarify the test that ensures we don't inappropriately
generate new slugs.

* We've made use of the Edition#translations association (added by globalize3)
and its corresponding table, edition_translations, in order to implement the
Edition scopes that search for a title, and to avoid N+1 query tests failing.

* Although it's now possible to have an Edition with a title in multiple
languages, all scopes dealing with title are restricted to english (the
default locale).
Support multilingual edition summaries.

I've had to hand-roll a migration to move the summary data onto the
`edition_translations` table, since Globalize3 doesn't seem to provide a
way to do this. The values in `editions.summary` are moved into the
corresponding english locale record in `edition_translations` table.
I've chosen to set the `updated_at` value in that table to be the
greater of `updated_at` on either the parent edition record or the
english locale record, which seems like the best we can do.

I've introduced `I18nHelpers#with_locale` because
`Globalize#with_locale` does not rollback the locale if an exception
occurs. This is very undesirable in tests, because if an exception is
raised (e.g. by `ActiveRecord::Base#save!` when validation fails) then
the different locale is then used for *all* subsequent tests.
Support multilingual edition body.

As in d2d5baac5680a5daf4f209abbda5287fc0f04415, I've hand-rolled the
migration with the same logic for setting the `updated_at` value on the
record in `edition_translations`.

I have removed
`StripInlineAttachmentsFromPublicationsAndConsultationsTest`, because it
was testing an old migration which has already run in production and
there didn't seem much value in updating the test to work with the
latest schema. Also I'm pretty unconvinced it's sensible to add to our
already long build time with a test for a migration which is almost
certainly never going to change. The test was originally added in
d63004a08b06aa125c7350dab6e90c04c8081cbb.