Fix to work with new iron api

This uses the request extensions to store the start time in the request. I played around w/ implementing it as an `AroundMiddleware`, but it seems you'd always want this to be the first before and the last after, hence it's a pair of middlewares.
Can this be renamed to `new`? There is precedent with `iron::persistent::{Read, State, Write}` all having `new` constructors return tuples.