Increase coverate around method being refactored
Replace associations with simpler methods

There were a whole truck-load of associations solely here for the
purposes of chaining them together to get a set of published editions
that are related to the current edition's document (i.e. the inverse of
the documents that this edition is related to). Unfortunately the
resulting query was returning the wrong things: it would also return
published editions of documents that have *any editions* (even
superseded ones) that were once related to the edition's document.
This made it impossible to disassociate a detailed guide from those that
have been associated with it, even when they are re-editioned and the
edition_relation is removed on the latest edition. Sorry if that sounds
confusing.

This replaces the chained associations with simpler methods that
generate the appropriate SQL for both inbound and outbound related
published detailed guides.