Rewrite unless/else
Rely on Whitehall::Authority for unpublishing

As for the other actions, this removes the coupling of user
permissions from the unpublishing method on Edition. I've rearranged
and re-written some of the unit tests for unpublishing for clarity,
but on the whole I've left the unpublishing code as is, despite the
fact that the way unpublishing hangs togother could do with some
further refactoring.