Added proper ETag handling to take presendence over lastmodified

TODO: Content-MD5 and ranged requests