Unstub EditionsWorkflowControlllerTest

These tests were heavily stubbed and so tightly coupled to the
implementation, rendering them useless once the implementation
changed. I've unstubbed them as best I can for now, effectively
turning them into mini-integration tests so we can be sure that no
behaviour has broken. Once we have service objects to handle the
complex logic for each workflow action, these tests will be
simplified down to basics, as the bulk of the logic will live outside
of the controller. Hence I haven't really made an effort to improve
these tests as they will be completely re-written soon.
Remove unused options
Edition#approvable_by? is a red herring

It's materially the same as Edition#publishable_by? and is never
called outside of tests
WIP Rely on Whitehall::Authority for publishing perms

As with access limiting, the rules that govern whether a user can
publish or force publish an edition are (mostly) present and correct
in Whitehall::Authority. This removes any knowledge of the users
publishing permissions from the Edition model as we can rely on the
controller to guard based on permissions.

The one exception was the permission on publishing a scheduled
edition. This is what guards that only the scheduled publishing robot
can publish scheduled editions. I've updated the EditionRules to
reflect this.

NOTE: There is work remaining here and that is to prise apart
publishing and force publishing so that they are separate transitions
rather than force publishing being an option that is passed to the
publish_as method. This is so that we can have separate
Edition#can_publish? and  Edition#can_force_publish? to verify that
the edition is in an appropriate state to perform the action
Rely on Whitehall::Authority for reject perms

It's getting easier...
Rely on Whitehall::Authority for unschedule perms

Another straightforward one