Add Globalize3 and support multilingual editions

* Make Edition#title, #summary and #body attributes translatable.

* We've defined the Edition model in the migration so that we're not tied to
the state of the application code: `Edition.create_translation_table!` uses
the declared translated attributes and it's possible we'll update those in the
application but want this migration to continue to run.

* We've chosen not to rely on Globalize automatically migrating the data (from
editions to edition_translations) as it took around 6 minutes, versus 30
seconds for our manual SQL insert. These times were based on running the
migration against a recent dump of the production data.

* 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).

* We'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.

* We've 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 we're 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.