Group template helper functions, remove Printf
, improve template error messages (#23982)
Follow #23328
Major changes:
* Group the function in `templates/help.go` by their purposes. It could
make future work easier.
* Remove the `Printf` helper function, there is already a builtin
`printf`.
* Remove `DiffStatsWidth`, replace with `Eval` in template
* Rename the `NewTextFuncMap` to `mailSubjectTextFuncMap`, it's for
subject text template only, no need to make it support HTML functions.
----
And fine tune template error messages, to make it more friendly to
developers and users.


---------
Co-authored-by: silverwind <me@silverwind.io>