Make the Unpublishing factory more accurate

The edition associated with an unpublishing will have been put back to "draft"
from a "published" state, so needs to have publishing timestamps.
Update unpublishing schema

Neither the explanation or alternative_url are required fields - both can be
blank.
Refactor Unpublishing model

It's simpler to load the Edition unscoped so that we can rely on it's presence
- less conditional logic.
Unpublishing is aware of translated_locales

This means we can treat an Unpublishing as a translatable thing, removing the
need for special-case logic in Whitehall::PublishingApi.
Add factories for different types of unpublishing

This makes it a bit clearer what the main variations of an unpublishing are.
Rework pushing Unpublishings to Publishing API

This makes some adjustments to the way that Unpublishings are handled
with respect to the Publishing API:

* Instead of publishing the parent "edition", the unpublishing itself is
published
* There is a single Unpublishing presenter that knows how to represent redirect
unpublishings and splash-page unpublishings

Both unpublishings that have been deleted and unpublishings for editions with
translations should now be correctly handled.
Refactor schema validation

Both supported formats use the same mechanism now.