Remove unnecessary validation

I cannot think of a single scenario under which we ever create an
edition in a "published" state, so getting rid of the validation. Also
simplifying the validation on drafting an edition.
Remove unused method
Clean up state machine and access controls

Removing unnecessary methods and relying more on the state machine for
truth with regard to whether the edition can have certain actions
performed on it.
Move related methods together

It doesn't make sense for the reject/approve-related methods to be
apart from the rest of the publishing-related methods
Remove unnecessary mixin

Having these methods in a module that is mixed in has no discernible
advantage, and makes things harder for developers.