Simplify and reuse existing code

Instead of treating DetailedGuide as a special little snowflake with its
own associations, we can simply re-use the existing RelatedDocuments
mixin to allow detailed guides to be related to others.