DataFrame.reset_index(inplace=True) does not return self, harming composability
#### Code Sample, a copy-pastable example if possible

```
df = pd.DataFrame({'foo': [1, 2, 3, 4]},
                   index=pd.Index(['a', 'b', 'c', 'd'], name='names'))
df.reset_index(inplace=True)
```

returns None
#### Expected Output

Same as output of

```
df.reset_index()
```
#### output of `pd.show_versions()`

This is on trunk. Caused by the lines in DataFrame.reset_index

```
        if not inplace:
            return new_obj
```
