File System Jail

The [file system jail](https://github.com/jekyll/jekyll-filesystem-jail) proxies all access to the file system to ensure compliance with certain security requirements. This pull request replaces all calls to the file system with calls to the proxy.

The jail proxies:

- `write`s
- `read`s
- `file_allowed?` (a custom method to check if `safe` is turned on and if the file is a symlink)
- `glob`
- `file?`
- `directory?`

It does **not** proxy:

- `basename`
- `dirname`
- or any other path manipulation which does *not* touch the file system (i.e. string manipulations)

/cc @mastahyeti, @gregose for their :eyes: 

**More work is required on the jail gem**, but I've purposely loosely-required the jail gem so it can be updated according to SemVer (minor bump for large-ish changes) without requiring a release of Jekyll.
> Should jail handle file.join 

Not `File.join` – it's just string manipulation. No file system access, so I'd say we're good to go.

> and file.expand_paths?

This might be smarter. In general we should probably use `Jekyll.sanitized_path` instead of `File.expand_path` anyway.

> (here or generally)

Whatever we decide, let's make sure it's consistent throughout the entire codebase.