fix the defaultExt to actually work

The default extension is currently broken, which is causing auto-indexing of index.html files to fail in the latest version of ecstatic. The brokenness is due to a mismatch of some parts of the code expecting defaultExt to have a leading "." and other parts do not expect a leading ".". This patch fixes the normalization issues with additional tests.

Unfortunately I had to update the test error case for the 404 page because there is a file called 404.html in the test/public/ directory, so requests to `/404` with a defaultExt of html should return a 200, not a 404. It seems that the tests had calcified against the broken behavior somewhat and were passing because of the brokenness of defaultExt.