CUDA: Detect non-working user-specified architectures on NVCC
Extends better error message implemented in !4800 (merged) for Clang to NVCC.
Additionally fixed the error incorrectly being thrown if the user-specified list differed in order to the architectures parsed from the compiler output.
Implements #20757 (closed).