def with_env(hash)
    hash.each_pair do |k, v|
      ENV[k.to_s] = v.to_s
    end
    yield
    hash.each_key do |k|
      ENV[k.to_s] = nil
    end
  end
runs the test with the given environment, but doesn't restore the original
environment afterwards. This should be sufficient for rack-timeout testing.