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.
The [RFC](https://tools.ietf.org/html/rfc7235#section-4.1) says this header can be a bit more complicated:

> For instance:
>
>     WWW-Authenticate: Newauth realm="apps", type=1,
>                       title="Login to \"apps\"", Basic realm="simple"
>
>   This header field contains two challenges; one for the "Newauth"
>   scheme with a realm value of "apps", and two additional parameters
>   "type" and "title", and another one for the "Basic" scheme with a
>   realm value of "simple".

I'd probably include a unit test testing the example from the RFC, and include a link to this section of the RFC at the top of the module.