Give data.json an explicit route

This defines a route for the `data.json` endpoint, adds a function to handle it and updates static site generation to build it. Right now, this only serving `site.data`, not all context, which is a slight change in functionality. I did this because the `DEFAULT_CONTEXT` setting is where I usually add global template functions, and that will break JSON encoding.

Closes #270.