While previously an implementation detail, the cookie jar from a `:cookie` plugin-enabled session can now be manipulated by the end user:
```ruby
cookies_sess=HTTPX.plugin(:cookies)
jar=cookies.make_jar
sess=cookies_ses.with(cookies: jar)
# perform requests using sess, get/set/delete cookies in jar
```
The jar API now closely follows the [Web Cookie Store API](https://developer.mozilla.org/en-US/docs/Web/API/CookieStore), by providing the same set of functions.
Some API backwards compatibility is maintained, however since this was an internal implementation detail, this effort isn't meant to be thorough.
## Bugfixes
*`http-2`: clear buffered data chunks when receiving a `GOAWAY` stream frame; without this, the client kept sending the corresponding `DATA` frames, despite the peer server making it known that it wouldn't process it. While this is valid HTTP/2, this could increase the connection window until a point where it'd go over the max frame size. this issue was observed during large file uploads where the first request could fail and make the client renegotiate.
*`webmock` adapter: fixed response body length accounting which was making `response.body.empty?` return true for responses with payload.
*`:rate_limiter` plugin relies on an internal refactoring to be able to wait for the time suggested by the peer server instead of the potentially relying on custom user logic via own `:retry_after`.
*`:fiber_concurrency`: fix wrong names for native/system resolver overrides.
* connection: fix for race condition when closing the connection, where the state only transitions to `closed` after checking the connection back in to the pool, potentially corrupting it if another session meanwhile has picked it up and manipulated it.