ENH: add inplace-kwarg to df.update
- [x] closes #21858
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

There wasn't a lot of discussion yet in #21858, so I thought I'd speed things up with a PR. So far:
* @gfyoung @toobaz (in https://github.com/pandas-dev/pandas/issues/21855#issuecomment-411778262) are +1 
* @TomAugspurger @Liam3851 sounded more or less -1.

While it may not be desirable to break the python dict-default of `update` being inplace (this PR leaves the default unchanged), I think it's very relevant for chaining, and (IMO) pandas' philosophy in general.

In #21858, I quoted @TomAugspurger (commenting in #21841 about *not* adding an option to inplace), which I find a good statement:
> Generally, we're moving away from inplace operations. It's confusing whether inplace means no copy or not. [...] We recommend chaining your method calls, and hope to provide better memory control in the future.

I find this applies just as much to `df.update`, hence the PR.