Part of #11992.
These were all the things that seemed pretty straight-forward. It's actually a bit bulky but should still be easy to review, hopefully.
* EHN add check_inverse in FunctionTransformer
* Add whats new entry and short narrative doc
* Sparse support
* better handle sparse data
* Address andreas comments
* PEP8
* Absolute tolerance default
* DOC fix docstring
* Remove random state and make check_inverse deterministic
* FIX remove random_state from init
* PEP8
* DOC motivation for the inverse
* make check_inverse=True default with a warning
* PEP8
* FIX get back X from check_array
* Andread comments
* Update whats new
* remove blank line
* joel s comments
* no check if one of forward or inverse not provided
* DOC fixes and example of filterwarnings
* DOC fix warningfiltering
* DOC fix merge error git
* we do not transform y
* more
* added Deprecation Warning to transform() to remove Y parameter
* more
* ENH ensure FunctionTransformer's transform/inverse_transform doesn't permit y
* Undo changes to pls_. It will be done in a separate PR (see #9160)
* flake8
* Update whatsnew
* Fully undo PLS changes
* copyedit doc
* give the module an underscore (we should do this to all private modules...)
* use public import path in test
* change all logs to log1p to prevent warning in test and because it's
genuinely useful for frequency data
* what's new