Fix finding binutils when cross-compiling with Clang

Since commit v3.0.0-rc1~342^2~2 (Add compiler target compile options,
2013-05-19) we use CMAKE_<LANG>_COMPILER_TARGET as the binutils prefix
when cross-compiling with Clang.  Fix the implementation to use the
compiler target as the prefix only when it is set.  Otherwise toolchain
files not using CMAKE_<LANG>_COMPILER_TARGET cause the logic to use
a prefix of just "-" and of course cannot find "-ar" or "-ld".
Merge topic 'fix-clang-cross-compile-find-binutils' into next

72d66818 Fix finding binutils when cross-compiling with Clang
If: Incorporate CMP0054 suggestions
Merge topic 'if-sanity' into next

30db9001 If: Incorporate CMP0054 suggestions