Centralize site path sanitation

This pull request introduces new standardized methods for accessing a directory from within the site's source or destination. The new methods introduced (and used heavily) are:

1. `Site#in_source_dir`
2. `Site#in_dest_dir`

These methods utilize `Jekyll.sanitized_path` to ensure the given path is, indeed, inside the source or destination directories to prevent filesystem traversal. A major exploit of hosted Jekyll systems is filesystem traversal, which makes the entire filesystem accessible to a malicious user (something we wish to avoid). This pull request should make the path sanitization a bit clearer to ease the review process for security teams.

:heart: :lock: 

/cc @jekyll/security
@mastahyeti I have changed these to prevent this case:

```text
[39/78] TestPost#test_: A Post processing posts should not be writable outside of destination. "/Users/parker/jekyll/jekyll/test/dest"
"/Users/parker/jekyll/jekyll/test/dest/Users/parker/jekyll/baddie.html"
 = 0.01 s
  1) Failure:
TestPost#test_: A Post processing posts should not be writable outside of destination.  [/Users/parker/jekyll/jekyll/test/test_post.rb:152]:
Failed assertion, no message given.
```

By putting each path through `Jekyll.sanitized_path`, we prevent the attempted traversal from running amok.