Replace observers with service object subscribers

Note that this code changes the behaviour slightly. Prior to this,
there was a bug that meant that supporting pages were lost from the
index if the document was re-editioned (https://www.pivotaltracker.com/story/show/59902334).
Now, all the behaviour for updating the index when an edition is
published or unpublished is in one place.

I've also removed the evil `rescue => e` as it's now redundant -
search indexing happens in a background job so we don't have to worry
about rummager disappearing during the request cycle.