Refactored content link generation

Content link generation separated into multiple functions for clarity
Bolt\Content::link no longer throws an exception for unroutable content
Updated backend & sitemap templates for unroutable content
Removed unnecessary pass/return by reference
Merge pull request #919 from jcracknell/contentlink-refactor

Refactored content link generation