feat(headers): headers.iter() is more powerful

Previously, iter() returned (&str, HeaderView), which wasn't too useful
other than to write out to a stream. Checking for a certain header is
painful since header names are case-insensitive, but &str isn't. And
once found, you still couldn't do anything with a HeaderView other
format it.

Now, iter() returns a HeaderView, with methods is(), name(), and
value(). You can do `view.is::<ContentType>()` to check what header it
is. And you get the typed value out by calling
`view.value::<ContentType>()`, which will return an
`Option<ContentType>`, similar to `headers.get()`.

Headers also now implement Extend and FromIterator, so it's easier to
build new Headers objects by filtering out a few headers.

Because this changes .iter() to return HeaderView instead of a tuple,
this is a:

[breaking-change]
Merge pull request #146 from hyperium/iter

improve Headers.iter
(fix) unwrap() => into_inner()
convert to using Cow
Merge pull request #153 from hyperium/rustup

Rustup
Update to latest Rust

Signed-off-by: Peter Atashian <retep998@gmail.com>
Fix `HeaderFormatter`.

Issue #157
Merge pull request #158 from dpc/master

Fix `HeaderFormatter`.
Merge pull request #154 from retep998/master

Update to latest Rust
fix(logging): adjust several logging messages

Closes #148
Merge pull request #159 from hyperium/unlog

fix(logging): adjust several logging messages
feat(headers): header ergonomics

- Reexports all common::* as header::*
- Most headers implement Deref where it makes sense.

Closes #156
Merge pull request #162 from hyperium/headers-ergo

feat(headers): header ergonomics
refactor(headers): changed from rwlock to mucell underneath
feat(headers): add Expires header
feat(headers): add LastModified header
Fix handling long Reason Phrase

rfc2616 does not specify the maximum length of *Reason Phrase* so it's
a good practice to handle even unreasonably long input.

16 char. buffer is not enough to correctly handle even the common `304
Moved Permanently`. Increase buffer size to more realistic 32. Also, up
to 128 more characters will be read and ignored, providing even greater
versatility without increasing memory usage.

Issue #163
Tests for "Fix handling long Reason Phrase"

Issue #163
Merge pull request #164 from dpc/issue-163

Fix Issue 163
feat(headers): add CacheControl header