Refactor republish documents script and add tests

* Rerender => Republish
* Extract dependency injection to the script level, removing the need to
  inject the wiring into the DocumentRepublisher.
* Rewrite cuke to add a test around the DocumentRepublisher.
* Rewrite seed_cases method in the tests to use the apps service layer
  rather than interacting with the models directly.
* Add method to panopticon helpers to clear the received messages s.t.
  we can ensure a republish happened rather than risk picking up the
  messages from doc creation.
Script to fix inconsistent edition states

Tests live in the script because I don't want them in the test suite.

Should we care about testing this particular test then the test are easily
visible and deletable.
Merge pull request #155 from alphagov/fix-inconsistent-edition-states

Script to fix inconsistent edition states
Merge pull request #157 from alphagov/republishing_script_refactor_with_cuke

Refactor republish documents script and add tests