feat(server): keep-alive! [WIP]

Internals have been shuffled around such that Request and Reponse are
now given only a mutable reference to the stream, instead of being
allowed to consume it. This allows the server to re-use the streams if
keep-alive is true.

A task pool is used, and the number of the threads can currently be
adjusted by a method on the Handler trait.

BREAKING CHANGE

@reem I see a big jump in reqs/sec with this. On my machine, around 55k. I can't get Iron to compile today (cargo bug) to compare, but it may be faster on your machine.
we should probably name the lifetimes here, so that they can be used when convenient.