cmcurl: Backport curl bug 1192 fix (#14250)

LLVM headers define strlcat as a macro rather than as a function.
See upstream Curl issue:

 http://curl.haxx.se/bug/view.cgi?id=1192

It was addressed by removing use of strlcat altogether.  Port the
upstream fix to CMake's curl.
Add generator expressions for compiler versions.

New generator expressions allow retrieval of the version per language,
as well as equality comparison.
Merge topic 'curl-bug-1192'

e643e02 cmcurl: Backport curl bug 1192 fix (#14250)
Merge topic 'compiler-version-genex'

47a8db5 Add generator expressions for compiler versions.