Use better names for new/published fields.

Rename "document_new" to "previously_published", and flip logic where necessary.
Split validation logic out of the field itself, to a separate
"validate_previously_published" attribute which is set from the controller by
a new "trigger_previously_published" method.
Fix tests.