ENH: provide "inplace" argument to set_axis()
 - [x] closes #14636
 - [x] tests added / passed
 - [x] passes ``git diff master -u -- "*.py" | flake8 --diff``
 - [x] whatsnew entry

This completes what was attempted in #14656 with tests and docstring.

In principle, ``set_axis`` could be mentioned somewhere in the docs (``set_index`` [is](http://pandas.pydata.org/pandas-docs/stable/indexing.html#set-an-index))... but I'm dubious because the API is horrible and inconsistent, in particular with ``Series``, where it obliges the user to do ``s.set_axis(0, [...])``. In other words, while I tended to agree with [the suggestion](https://github.com/pandas-dev/pandas/pull/15104#issuecomment-272319791) that once ``.set_axis`` supports ``inplace=False``, we wouldn't need any ``.relabel()``, now that I see how it looks, I changed my mind (this is not the best place to discuss this, just explaining why I'm against "publicizing" ``set_axis`` too much).

Notice that in order to alleviate the problem, I changed the signature: ``axis`` and ``labels`` are now named parameters, so that one can do ``s.set_axis(labels=[...])``. I admit the utility of this is debatable.