MSVC: Invoke 'link' directly for executables

Update the CMAKE_<LANG>_LINK_EXECUTABLE rule variable to invoke the
linker directly instead of through the compiler.  We already do this
for DLL linking with CMAKE_<LANG>_CREATE_SHARED_LIBRARY.

This also works around a VS 6 cl bug.  While invoking the link tool
internally it fails to correctly quote flags like /pdb:... with spaces
in the value.
Merge topic 'vs-no-compiler-pdb-setting' into next

fb9f73d MSVC: Invoke 'link' directly for executables