Refactor decorators

This is an effort to remove non-presentational logic from our decorators, they were becoming grab-bags of random functionality.

Any feedback on how I've re-jigged how related content generation with ``RelatedContent`` and ``CategoryContentHierarchy`` would be appreciated.