Website: use SPF for the SPF site, part 1 - generate JSON files.

- Upgrade Jekyll to latest version.
- Add a Jekyll plugin to create a SPF JSON file for every page.

Progress on #224.
Merge pull request #223 from nicksay/we-must-go-deeper

Website: use SPF for the SPF site, part 1 - generate JSON files.
Improve handling of URL identifiers and file extensions.

Instead of indiscriminately appending non-query identifiers to the URL, replace
the file extension if the identifier represents an alternate extension.  An
identifier is considered to represent an alternate extension if the strings
starts with a `.` character.  Also, prevent duplicate characters if both the
path ends with and the identifier starts with `/`.