Add support for separable compilation.

This adds a new variable, CUDA_SEPARABLE_COMPILATION, and two new functions,
CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS.

When CUDA_SEPARABLE_COMPILATION is specified then CUDA runtime objects will be compiled
with the separable compilation flag.  These object files are collected in a target named
variable that can be used in CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS.
Merge topic 'FindCUDA.cmake/SeparableCompilation' into next

776766f Add support for separable compilation.