Add a custom 404 page

* needs controller because there's some dynamic logic

For dreamwidth/dw-free#1058.
Merge pull request #88 from afuna/convert-404-bug-1058

Add a custom 404 page