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!
a separate issue that was causing test failures for me, setting `cache-control` to `undefined` does something odd so best to just bypass it completely