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

See commits for the details.

This PR is based on #43.
Hmm, I disagree about 404 not being a normal response. Just look at the log file for any public website (seems like 90% of my visitors are bots trying to access /wp-admin/, even though I don't run WordPress :) ). I feel like a 404 is not really an error on the server side (as an I/O error would be), it's a notification to the client that the request was not correct.

That said, I'm not (yet) familiar with the inner workings of Iron, so there are probably advantages to the approach you suggest that I'm not seeing. I'm going to trust your judgement and change it, but would appreciate if you could elaborate a bit.