Expose stopping reasons in `EarlyStopping` callback (#21188)
* add public reason api
* add testing
* add to documentation
* changelog
* fix doctests
* fix unittests
* fix documentation
* fix typing
---------
Co-authored-by: Jirka Borovec <6035284+Borda@users.noreply.github.com>