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.
This can be rolled into Logger as a single type to make the types of Logger constructors simpler and easier to work with.