This version checks etag value and pass it through conditions supplied by the remote client. Depending on conditions it produces return value of enum type VersionCheckResult
It never handles If-None-Match: * as it is related to non-etag logic (for example, Last modified checks). See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26 for more details
VersionCheckResult.OK if all headers pass or there was no related headers, VersionCheckResult.NOT_MODIFIED for successful If-None-Match, VersionCheckResult.PRECONDITION_FAILED for failed If-Match
Appends relevant headers to the builder
Examine two entity-tags for match (strong).
If-Match logic using match function.
If-None-Match logic using match function.