Fixed #1218.

Fixed #1218, please review this.
1. Split `If-None-Match` with `,` to handle multiple etag in a single header.
2. If "*" is given and any current entity exists for that resource, this method should return `True`.
3. Find etag match in tags (maybe including weak validator).