Dest match

As noted in #1130, jekyll's current matching of source and destination (to ensure that the source is not inside the destination) is too aggressive, meaning that a source of `blog-source` and a destination of `blog` will cause the generation to halt. This is because it uses a simple regex for checking.

This PR changes the relevant code to use `Pathname` instead, and also adds an extensive cucumber feature to test the behaviour. This fixes the described issue.