Add docs for the INTERFACE library.
Merge topic 'INTERFACE_LIBRARY-target-type' into next

b224b90 Add docs for the INTERFACE library.
Add the INTERFACE_LIBRARY target type.

This target type only contains INTERFACE_* properties, so it can be
used as a structural node. The target-specific commands enforce
that they may only be used with the INTERFACE keyword when used
with INTERFACE_LIBRARY targets. The old-style target properties
matching LINK_INTERFACE_LIBRARIES_<CONFIG> are always ignored for
this target type.

The name of the INTERFACE_LIBRARY must match a validity generator
expression. The validity is similar to that of an ALIAS target,
but with the additional restriction that it may not contain
double colons. Double colons will carry the meaning of IMPORTED
or ALIAS targets in CMake 2.8.13.

An ALIAS target may be created for an INTERFACE library.

At this point it can not be exported and does not appear in the
buildsystem, but that will be added in a later commit.

The generators need some changes to handle the INTERFACE_LIBRARY
targets returned by cmComputeLinkInterface::GetItems. The Ninja
generator does not use that API, so it doesn't require changes
related to that.
Make it possible to export() INTERFACE_LIBRARY targets.
Make it possible to install(EXPORT) INTERFACE_LIBRARY targets.
Merge topic 'INTERFACE_LIBRARY-target-type' into next

8456203 Make it possible to install(EXPORT) INTERFACE_LIBRARY targets.
45f845e Make it possible to export() INTERFACE_LIBRARY targets.
b563e91 Add the INTERFACE_LIBRARY target type.