Return 404 instead of 500, if the file was not found

See commits for the details.

This PR is based on #43.
I view "no file found" as a case where it would likely be best to return an `Err` and handle this case inside of `Handler::catch`, since "no file found" is not a normal response.

This could be done by catching `NoFile` in the implementation of catch for `Static`.