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.
It would be clearer if we pulled this out of the map block and iterated over the list of docs from the map