add basic func and tests

adds the basic bones of delivering a custom error page. 

TODO: design up the error page to be something appropriate :nail_care:
The default error page is `lib/404.html`. 

/cc @jenius @joshrowley