a bunch of things, important things:

- Some useful logging around the request lifetime
  - logging Heroku's request_id
  - still no tracking of timeouts raised inside frameworks
- Aware of Heroku's X-Request-Start header, uses it to determine maximum useful timeout (Heroku drops requests in the router after 30s)
- Rack::Timeout::Error no longer a subclass of Timeout::Error, instead simply of RuntimeError, because…
- raising two different errors now: RequestTooOldError and RequestAbortedError, which subclass the new Rack::Timeout::Error
  - RequestAbortedError is raised where the old (Rack::)Timeout::Error was raised
  - RequestTooOldError is raised when X-Request-Start is present and too old
- Information that could be useful outside of rack-timeout, like age and timeout, is made available in env