FetchContent: Protect ExternalProject keywords from unknown arguments
ExternalProject_Add
treats all keyword arguments as multi-valued.
FetchContent re-orders some keyword arguments w.r.t. unparsed arguments.
Add an internal keyword argument to separate the keyword values from
following unparsed arguments.
This was exposed by !7988 (merged) by adding
GIT_REPOSITORY
to the set of re-ordered keyword arguments. This
caused its value to absorb following unparsed arguments.
Fixes: #25029 (closed)
Backport: release