Fix determination of evaluating link libraries.

Added in commit 6fbe3ce4 (Exclude the LINK_LIBRARIES related properties
from INTERFACE evaluation., 2013-01-23)
Only use early evaluation termination for transitive properties.

We need to make sure expressions which evaluate TARGET_PROPERTY:TYPE
multiple times for example get the correct result each time, and
not an empty string instead.
Move a special case for PIC from the genex to the cmTarget code.
Don't keep track of content determined by target property values.

This tracking was added during the development of commit 042ecf04
(Add API to calculate link-interface-dependent bool properties
or error., 2013-01-06), but was never used.

It was not necessary to use the content because what is really
useful in that logic is to determine if a property has been implied
to be null by appearing in a LINK_LIBRARIES genex.

I think the motivating usecase for developing the feature of
keeping track of the targets relevant to a property was that I
thought it would  make it possible to allow requiring granular
compatibility of interface properties only for targets which
depended on the interface property. Eg:

 add_library(foo ...)
 add_library(bar ...)

 add_executable(user ...)
 # Read the INTERFACE_POSITION_INDEPENDENT_CODE from bar, but not
 # from foo:
 target_link_libraries(user foo $<$<TARGET_PROPERTY:POSTITION_INDEPENDENT_CODE>:bar>)

This obviously doesn't make sense. We require that INTERFACE
properties are consistent across all linked targets instead.
Merge topic 'minor-fixes' into next

4ce8cce Don't keep track of content determined by target property values.
001002a Move a special case for PIC from the genex to the cmTarget code.
da4f70e Only use early evaluation termination for transitive properties.
b74934d Fix determination of evaluating link libraries.