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.
Merge topic 'refactor-link-internals' into next

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