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.
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
update to newest cookie-rs
Merge pull request #106 from hyperium/cookies

Cookies
feat(server): change Incoming to iterator over Connections

A connection is returned from Incoming.next(), and can be passed to a
separate thread before any parsing happens. Call conn.open() to get a
Result<(Request, Response)>.

BREAKING CHANGE
Merge pull request #110 from hyperium/server-parsing

feat(server): change Incoming to iterator over Connections
fix Get and Head requests that weren't writing headers