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.
This was originally there because we were using it with a .each do |n| to put the number into the name of the case being built -- i.e. "Specialist Document 1", "Specialist Document 2", etc.

I just didn't think to clean it up after we changed it :)