Move the building of related posts into their own class

This is a WIP extraction of the related posts functionality into its own class, with the eventual goal of removing the `Post#related_posts` method entirely.

Why remove `Post#related_posts`? The reason is because it's only use is to provide a `related_posts` method for the `site` object in a post's liquid object.