Support multiple Vary response headers

If a server responds with multiple Vary headers, their comma-separated
field values should be joined and the joined list should be used to
determine whether a cached response may satisfy a request. (See
http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2.)

This commit adds headerAllCommaSepValues, which joins all
comma-separated values of a header, and uses it to compute the list of
Vary'd headers.

Closes https://github.com/gregjones/httpcache/issues/27.
```
     Vary = "*" / 1#field-name
also specified in the same document as:
   Vary = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ]
     field-name    = <comment, see [RFC7230], Section 3.2>
     field-name     = token
     token = 1*tchar
     tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." /
      "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
```

Since tchar doesn't allow a double quote or comma, I think we're safe.