Rework UI first_published_at field.

Add document_new virtual field on the Edition model, and validate that
either the field is true, or a first_published_at date must be supplied.
For imported documents, first_published_at must always be supplied. The
date selector is hidden unless "not new" is selected.

To ensure that the validation is only applied in the admin controller (and not
for example when creating a draft from an existing doc, or when importing) the
validator checks for the value "unset", which is set on a before_filter for
create.

When editing existing documents, show the first_published_at as a static
value with a link to edit.
Move first_published fields.

Hide the fields and disable validation on subclasses that don't currently show
them.
Tests for new/existing document validation.