There are a few problems currently with the elm server:
1. When the elm binary is not found, a nondescript error is displayed
2. When a file has a suffix .elm but the file is not found, the same error
as in (1) is displayed
3. When a non-existing file ending in .elm is requested, the error code is
incorrect - the elm-server returns a 400 instead of a 404
The following is the error message that shows up in cases (1) and (2) above:
Server error: elm-server-cache: getDirectoryContents: does not exist (No such file or directory)
This commit fixes the generic runtime errors (source of (1) and (2) above) by
guarding against trying to delete a non-existing directory. It also fixes the
HTTP code for non-existing .elm files by returning the general Happstack 404
page that is returned for other not-found requests.