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.
update using ToSocketAddr
Merge pull request #101 from hyperium/to-socket-addr

update using ToSocketAddr
dont convert Date to utc if already utc

Part of #98
Merge pull request #100 from hyperium/date-utc

dont convert Date to utc if already utc
hash_map find has been renamed to get, remove returns an option
Merge pull request #102 from jgillich/hashmap

hash_map find has been renamed to get, remove returns an option
Add a simple threaded hello world example.
Merge pull request #105 from reem/hello-world

Add a simple threaded hello world example.
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