Support Last-Modified and Etag headers + 304 responses, close #1415
Minor clean up