Cookies are not persisted to the passed CookieJar

## Expected Result

When passing a CookieJar object to requests, I (and [other people on Stack Overflow](https://stackoverflow.com/a/6930182)) expected any cookies sent by the server to appear in the CookieJar object.

## Actual Result

The server sends cookies, I can see them with `resp.cookies` but the CookieJar stays the same.

## Reproduction Steps

```python
import requests
from http.cookiejar import CookieJar, Cookie

jar = CookieJar()

resp = requests.get('https://www.google.com', cookies=jar)

print(resp.cookies)
print(jar)  # stays empty
```

I also tried passing in a CookieJar with at least one Cookie

```python
some_cookie = Cookie(None, 'asdf', None, '80', '80', 'www.foo.bar', None, None, '/', None, False, False, 'TestCookie', None, None, None)
jar.set_cookie(some_cookie)

print(len(jar))  # 1
resp = requests.get('https://www.google.com', cookies=jar)
print(len(jar))  # still 1
```

I also tried passing a `RequestsCookieJar`, with the same effect.

## Did this work before?

Yes, after spinning up Debian 9 on Vultr and then running

```sh
sudo apt install python3-pip python-pip
```
using these commands
```sh
python2 -m pip uninstall -y requests
python2 -m pip install requests==0.14.2
python2 -c "import requests; from cookielib import CookieJar; jar = CookieJar(); resp = requests.get('https://www.google.com', cookies=jar); print(len(jar))"
```

I have confirmed that this worked how I expect on Python 2 + Requests 0.6.0, 0.7.0 and 0.14.2 but stoped working in 1.0.0. I couldn't get those old versions of Requests to install on the Python 3.5 that comes with Debian 9.

## Why this happens

I think before, the Session's cookies were copied into the passed CookieJar object

https://github.com/psf/requests/blob/63243b1e3b435c7736acf1e51c0f6fa6666d861d/requests/sessions.py#L184

https://github.com/psf/requests/blob/63243b1e3b435c7736acf1e51c0f6fa6666d861d/requests/sessions.py#L208-L210

whereas now

https://github.com/psf/requests/blob/2a6f290bc09324406708a4d404a88a45d848ddf9/requests/sessions.py#L474-L476

a new `RequestsCookieJar` object is created from the `CookieJar` instead of it being used directly.

I can't reproduce this

```
❯ python
Python 3.10.4 (main, Mar 25 2022, 00:00:00) [GCC 11.2.1 20220127 (Red Hat 11.2.1-9)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> from http.cookiejar import CookieJar, Cookie
>>>
>>> jar = CookieJar()
>>>
>>> resp = requests.get('https://www.google.com', cookies=jar)
>>>
>>> print(resp.cookies)
<RequestsCookieJar[<Cookie 1P_JAR=2022-04-30-16 for .google.com/>, <Cookie AEC=AakniGOzKHfGhcufRrqyE81DNctkZa2aWDf1CgLpPzaNOg-WQr8HqKplcw for .google.com/>, <Cookie NID=511=gYUZryN9sfduX2FoMd4s6AveuS-6pu71iYbbn6dxXVa75Uf_GT9tP20crB7OxHQiVKgxD_8jGDCnzSHWzJctL9ARksL6hmsleP1Wu6SHV3zgTGZVPGErHfjmcsjC3M83Q7-68VkQqh37-l089Wh1WErXcHvp8qPu4SMgvxLUWPk for .google.com/>]>
>>> print(jar)  # stays empty
<CookieJar[]>
>>>
❯ python -m requests.help 
{
  "chardet": {
    "version": null
  },
  "charset_normalizer": {
    "version": "2.0.12"
  },
  "cryptography": {
    "version": ""
  },
  "idna": {
    "version": "3.3"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.10.4"
  },
  "platform": {
    "release": "5.16.11-200.fc35.x86_64",
    "system": "Linux"
  },
  "pyOpenSSL": {
    "openssl_version": "",
    "version": null
  },
  "requests": {
    "version": "2.27.1"
  },
  "system_ssl": {
    "version": "101010ef"
  },
  "urllib3": {
    "version": "1.26.9"
  },
  "using_charset_normalizer": true,
  "using_pyopenssl": false
}
```

The CookieJar object you passed in stays empty. That's the issue. You did reproduce it.

Requests populated the passed in object with the recieved cookies before 1.0.0 and it's the behavior I expected.

Hi @verhovsky, to answer your question, the empty jar is intentional. Requests 1.0 was released a decade ago and the observed behavior has been consistent since. The reason we do not mutate the cookies in the provided jar is repeated requests are not idempotent and this may lead to unexpected behavior. If you provide a set of cookies, and the server responds with overrides for those values, a second request may result in a different response which can be surprising.

Instead, we copy all received cookies into the new jar and you're free to merge them into your original or choose what happens with them. We do not intend to revert this as it's been how the library has operated for almost the entirety of its existence.