feat(headers): Add WWW-Authenticate header

This adds support for WWW-Authenticate, which is the other side of Authorization. I used originally used Authorization as a reference and had a WWWAuthenticate&lt;Scheme&gt; type. However, this was really inconvenient for the caller: headers.get takes a type, so you had to know which scheme you were going to be given in order to get it. It's much more convenient to the caller to get WWWAuthenticate, and match on the scheme you got. Digest to follow, btw, but not immediately.

Anyway, this is pretty much My First Rust(tm), so please check carefully and push back with n00b stuff as well as design considerations.
Also, in the `None` case, you're logging `header`, but you just matched that it was None. Did you mean to log `raw` here?