ENH: Add built-in function for Styler to format the text displayed for missing values
As described in the issues, user who wants to control how NA values are printed
while applying styles to the output will have to implement their own formatter.
(so that the underlying data will not change and can be used for styling)

Since the behavior is common in styling (for reports etc.), suggest to add this
shortcut function to enable users format their NA values as something like '--'
or 'Not Available' easily.

EDIT:

- Change implementation to integrate with the original `.format()` using `na_rep` argument
- Add a new table-wise default `na_rep` setting, which can be set through `.set_na_rep()`
- Minor fix: formatter should be wrapped outside of locs-loop 
- Added a few user guide examples and test cases

example usage: `df.style.highlight_max().format(None, na_rep="-")`

- [x] closes #21527 and #28358
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry
