cmTarget: Drop 'head' argument from ComputeLinkImplementationLanguages

No call sites need it to be anything but 'this'.
cmTarget: Drop 'head' argument from GetLanguages

No call sites need it to be anything but 'this'.
cmTarget: Drop 'head' argument from GetSourceFiles

No call sites need it to be anything but 'this'.
cmTarget: Drop 'head' argument from processSources

No call sites need it to be anything but 'this'.
cmTarget: Refactor internal LinkInterface map

Create the map entry up front and store in it boolean values indicating
which pieces of the LinkInterface structure have been populated.
This approach leads to shorter code that is easier to follow too.
cmTarget: Move ComputeLinkInterfaceLibraries to internals

There are no external callers, and this will allow the method to see
the full OptionalLinkInterface internal structure.
cmTarget: Simplify internal ComputeLinkInterfaceLibraries method

Now that the method can see the full OptionalLinkInterface structure,
store information there instead of passing it through arguments.
cmTarget: Refactor internal imported LinkInterface map

Create the map entry up front and store in it a boolean value indicating
whether the LinkInterface structure has been populated.  This approach
leads to shorter code that is easier to follow too.
ctest_memcheck: Add support for memory and leak sanitizer.

This adds support for memory and leak sanitizers.  This is built into
clang and gcc 4.8 and new compilers. It is activated with a -f switch
during compile.
CTest: Fix MemoryCheckType from 'ctest -T MemCheck'

Before this commit, you would have to run ctest -S mode to get
MemoryCheckType to work. This is because CMAKE_COMMAND was not set.
The fix is to use cmSystemTools::GetCMakeCommand instead.
Merge topic 'thread-sanitizer'

1e005ead CTest: Fix MemoryCheckType from 'ctest -T MemCheck'
44726714 ctest_memcheck: Add support for memory and leak sanitizer.
Merge topic 'refactor-link-internals'

1ca0c0e9 cmTarget: Refactor internal imported LinkInterface map
102eea60 cmTarget: Simplify internal ComputeLinkInterfaceLibraries method
b0f57408 cmTarget: Move ComputeLinkInterfaceLibraries to internals
c69e8a55 cmTarget: Refactor internal LinkInterface map
4db3990e cmTarget: Drop 'head' argument from processSources
4b8130b8 cmTarget: Drop 'head' argument from GetSourceFiles
4c763dd1 cmTarget: Drop 'head' argument from GetLanguages
190cabe7 cmTarget: Drop 'head' argument from ComputeLinkImplementationLanguages