Add some template routing

This allows us to define templates. It separates "node-like" templates from "block-like" templates, by putting the "node-like" templates in their own folder. The directory structure of the "node-like" templates will determine the directory structure of the actual site.

There is a separate folder for static content. If the url does not match a template, it will attempt to serve the files statically from this folder.