Add a 404 page to the MkDocs theme.

This change involved breaking up the context generation to create a sub
context that can be used for rendering pages not based on a specific
Markdown file.