Editions now have a primary locale

So we can differentiate between a normal (English) edition and
non-English ones, we store a "primary locale". By default, this
is English, so existing documents should behave as before.
Editions fallback to their primary locale

globalize3 uses globalize_fallbacks when checking translated attribute
values. By default, it checks the for translations in the current
(globally-set) locale before falling back to whatever the default
locale is (i.e English). By overriding globalize_fallbacks, editions
will fallback to their primary locale instead of the default one,
meaning that non-English editions behave as expected (i.e. are valid)
when loaded in the default English locale.
Non-English editions do not get a slug

Because we cannot reliably generate readable slug strings for
non-English editions, we don't generate one, meaning that document
identification/param-generation will fallback to the document id.
Simplfy update slug logic

The unless / or clause was confusing so I've simplified it with a
guard clause. This uncovered a potential bug where the published?
check would return true even when the documents edition had been
unpublished because the published_edition association was returning
a cached edition.