Build 404 pages from the theme if they exist
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.
Minor updates after feedback
Merge pull request #194 from d0ugal/404

Build 404 pages from the theme if they exist