CMP0037: Extend policy to reserved names and custom targets

Teach add_custom_target to check the policy too.  Extend the policy to
disallow reserved target names that we use for builtin targets like
"all".

Extend the RunCMake.CMP0037 test to cover these cases.
Merge branch 'forbid-reserved-targets' into next
Merge topic 'fix-remove-forbidden-flags'

3a8f34b Makefile: Remove "forbidden" flags only as a whole
Merge topic 'cpack-internal-variables'

7621ad6 CPack: don't write internal variables to CPackConfig.cmake
Merge topic 'emacs-mode-no-reserved-bindings'

0f21261 cmake-mode.el: drop reserved keybindings (#14576)
Merge topic 'forbid-reserved-targets'

3900fcf CMP0037: Extend policy to reserved names and custom targets
Merge topic 'doc-ExternalProject-formatting'

01ecd24 ExternalProject: Format module documentation
Merge branch 'master' into next