HTTP header value parser implementation. Parsing HTTP headers as per RFC2616
is not always as simple as it first appears. For headers that only use tokens
the simple approach will normally be sufficient. However, for the other
headers, while simple code meets 99.9% of cases, there are often some edge
cases that make things far more complicated.
The purpose of this parser is to let the parser worry about the edge cases.
It provides tolerant (where safe to do so) parsing of HTTP header values
assuming that wrapped header lines have already been unwrapped. (The Tomcat
header processing code does the unwrapping.)