Move rules around schedule time to service object

Previously there was a validation on Edition which had to do some
state-based gynmastics to ensure the scheduled_publication timestamp
was far enough in the future, but only when the edition was not being
rejected, unpublished, etc. This removes that validation and instead
puts it into the EditionScheduler service object, as we don't really
care about the time an edition is scheduled for until it is being
scheduled. This not only simplifies the code, but also removes one of
the state-transition-based validations that causes the need for those
rescue_from calls in EditionWorkflowController.