fix bad pipe for no-gzip accepted

This should fix #46, which is caused by the client not accepting gzipped files but gzipping not explicitly being turned off in the options so there was a bad `pipe` chain which caused data to get to the request but because the falsely created gzip stream isn't piped anywhere it stalls on `highWaterMark`.

Also took the opportunity to clean up the initial file cache code.

Reviews would be appreciated before merging this!