Implemented a typed Authorization header

An Authorization header contains a Scheme. If you have no real scheme,
you can use String as your scheme (Authorization<String>).

This includes the `Basic` scheme built-in.
Make Connection usable

Connection's only field was private, making it impossible to construct a
Connection.
Merge pull request #107 from hannobraun/connection

Make Connection usable
Merge pull request #94 from hyperium/authorization

Implemented a typed Authorization header
fix(client): GET and HEAD shouldn't add Transfer-Encoding

Also adds an EmptyWriter, used for GET and HEAD requests,
which will return an io::ShortWrite error if the user ever tries
to write to a GET or HEAD request.

Closes #77
Merge pull request #108 from hyperium/77-empty-responses

fix(client): GET and HEAD shouldn't add Transfer-Encoding
Basic Cookie and Set-Cookie (only parsing) headers implementation.
Add cookie-rs and use `cookie::Cookie` in `Cookie` header.
Build SetCookie from CookieJar
Add cookie_rs as default feature and implement conditional compilation.
adjustments to Cookie and SetCookie
use Vec::with_capacity(raw.len()) for Cookies
update to newest cookie-rs