validate ETag values

Don't just check that ETags are present. Also validate their values as
defined in RFC 2616.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19