raise_for_status returns None

According to the documentation, `raise_for_status()` should return the response object for a successful response.  But I am getting None.

## Expected Result
<Response [200]>

## Actual Result
None

## Reproduction Steps
```
$ python3
>>> import requests
>>> r = requests.get('http://google.com')
>>> r.raise_for_status()
>>> type(r.raise_for_status())
<class 'NoneType'>
>>> r.status_code
200
```

## System Information

```
{
  "chardet": {
    "version": "3.0.4"
  },
  "cryptography": {
    "version": ""
  },
  "idna": {
    "version": "2.7"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.7.4"
  },
  "platform": {
    "release": "19.0.0",
    "system": "Darwin"
  },
  "pyOpenSSL": {
    "openssl_version": "",
    "version": null
  },
  "requests": {
    "version": "2.20.1"
  },
  "system_ssl": {
    "version": "1010104f"
  },
  "urllib3": {
    "version": "1.24.3"
  },
  "using_pyopenssl": false
}
```

The docs seem to say:
> **raise_for_status()**
>     Raises stored HTTPError, if one occurred.
>
> - https://requests.kennethreitz.org/en/master/api/#requests.Response.raise_for_status
> - https://github.com/psf/requests/blob/d2590ee46c06/requests/models.py#L938-L939

Other mention below, which explicitly shows it returning `None`.

> ## Response Status Codes
> ...
>
>If we made a bad request (a 4XX client error or 5XX server error response), we can raise it with `Response.raise_for_status()`:
>
>     >>> bad_r = requests.get('https://httpbin.org/status/404')
>     >>> bad_r.status_code
>     404
>
>     >>> bad_r.raise_for_status()
>     Traceback (most recent call last):
>       File "requests/models.py", line 832, in raise_for_status
>         raise http_error
>     requests.exceptions.HTTPError: 404 Client Error
>
>But, since our `status_code` for `r` was 200, when we call `raise_for_status()` we get:
>
>     >>> r.raise_for_status()
>     None
>
> All is well.
>
> - https://requests.kennethreitz.org/en/master/user/quickstart/#response-status-codes
> - https://github.com/psf/requests/blob/d2590ee46c06/docs/user/quickstart.rst#response-status-codes

Which docs are you referring to?

That's interesting. I was reading from here. What's the difference?

https://3.python-requests.org/user/quickstart/#response-content

> `raise_for_status` returns the response object for a successful response. This eases chaining in trivial cases, where we want bad codes to raise an exception, but use the response otherwise:
> 
> ```
> >>> value = requests.get('http://httpbin.org/ip').raise_for_status().json()['origin']
> Response Headers
> ```

That is the documentation for Requests 3.x while you have Requests 2.20.1 installed.

I'm confused because the page is titled "Requests 2.21.0 documentation" and the installation instructions link to this Github repo.  So what is Requests 3?

Ah, yeah, https://3.python-requests.org/ says 2.21.0. That's a bug in the documentation. I'll create a separate issue. 

The docs do say "work in progress", but the contradictory information is kinda confusing, and "Requests III" isn't obviously related to v3.x to someone new. (e.g. urllib3 is on version 1.x)

![image](https://user-images.githubusercontent.com/5297556/68976638-d5795980-07bb-11ea-9ae3-945d39111ef6.png)


Ok thanks