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 really be using https://github.com/reem/rust-resistant-taskpool. The std TaskPool is completely unsafe in the face of any subtask panics, allocates way too much, and does no load balancing.