Preserve locale when moving around the site.

By introspecting which controllers can handle locales, we can target
our patch around named routes to only add locales for routes generated
to those controllers.

I've changed the cucumber features for world locations and offices
to exercise changing translations via the interface, in order to
drive inclusion of the locale links on those pages. I've also made
the step usage a bit more consistent, using the language name to drive
clicking on links to translations rather than jumping straight to the
locale.
Add a healthcheck to show overdue editions
This introduces a route (/healthcheck/overdue) which routes to healthcheck#overdue - which simply renders Edition.due_for_publication.count as json
Allow admin user to remove translation for world location.
Allow admin user to remove translation for worldwide office.
Extract remove translation duplication into a Translatable module.

I did consider adding the `remove_translations_for` method to
`LocalisedModel`, but the method is fairly tightly coupled to
`ActiveRecord` and `LocalisedModel` currently isn't. Anyway, this
`Translatable` module may not be its final resting place, but it'll do
for now.
Process govspeak in admin edition translation preview.

This appears to have been an oversight in a previous story [1].

[1] https://www.pivotaltracker.com/story/show/43569731
Simplify assertions for admin edition translation preview.

By using a locale-specific CSS class, we can simplify the existing
assertions and make it easier to add some new ones in a later commit.
Convert the edit edition translation link into a button.

I'm planning on adding a delete button to go along with the edit button
and by moving the button "into" the relevant translation section, we
gain extra context for the button and avoid the need to say what it will
allow you to edit.

The markup/styling may not be great, but I think it gets me a bit
further forward.
Allow admin user to remove translation for edition.

The delete button is shown within the section for each translation to
make it clear to which translation it refers.

The delete button is only displayed if the edition itself is deletable.
This means that it will not be possible to delete the translation for a
published edition i.e. similar to the workflow for supporting pages.

I've chosen to add the delete button to the translations tab of the
admin editions show page rather than introducing an equivalent of the
supporting page show page for each translation. Doing it this way is
consistent with the existing edit button and reduces the number of steps
the user has to perform in order to delete a translation.

I've chosen to include the `::Translatable` module into
`Edition::Translatable`. It's possible that some of the methods on the
latter might be moved onto `::Translatable`, i.e. the ones that are
independent of editions.
Add notices to give feedback on admin translation operations.

I decided not to add specific tests for these flash notices, because
they are somewhat incidental and I feel that there is already sufficient
test coverage to catch any silly mistakes.
Only generate a locale url if the object has a translation.

I've extracted the shared localisation methods into their own module.
If we start nesting models deeply this behaviour may need to become
more sophisticated in order to detect which object needs to be
localised.
Add a feature to demonstrate the persistent locale between pages.

This feature clicks on a translation link on the world location,
driving the presence of those links here.
Merge pull request #271 from alphagov/healthcheck-overdue-editions

Add a healthcheck to show overdue editions
Improve display of contacts in the admin

Put wells round contacts on both organistions and woldwide offices. This
lets you work out which buttons link to what address as otherwise I kept
hitting the wrong button.

Also displayed all the information we have for that contact. So there
aren't any nasty supprises when you click through to edit.
Merge pull request #270 from alphagov/admin-remove-translations

Allow admin users to remove translations
Merge pull request #268 from alphagov/preserve-locale-between-pages

Preserve locale when moving around the site.

[Pivotal Tracker Story 44452983][1]

[1]: https://www.pivotaltracker.com/story/show/44452983