cmTarget: Use strtol for numeric parsing.

On Windows apparently sscanf can not handle hex numbers.

Test that numeric comparison works with hex numbers.
Genex: Add EQUAL expression.

Support decimal, hex, octal and binary literals.
cmTarget: Remove dead code.

Whitelisting of properties already ensures that the LOCATION
property will not be read from an INTERFACE_LIBRARY.
cmTarget: Enable convenient include dir handling for INTERFACE_LIBRARY.

Make the CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE variable affect
INTERFACE_LIBRARY targets.
export: Rename some variables to reflect content type.

This method is used with a list of languages.
cmTarget: INTERFACE_LIBRARY is always EXCLUDE_FROM_ALL.
cmTarget: Remove some of the INTERFACE_LIBRARY whitelisted properties.

There is no need to allow EXCLUDE_* properties, because an
INTERFACE_LIBRARY has no direct build output.

IMPORTED_LINK_INTERFACE_LANGUAGES are relevant only to static
libraries.

VERSION is relevant only to the filename of direct build outputs,
which INTERFACE_LIBRARY does not have.
Genex: Reform error-checking for nullary/unary expressions.

The error messages were incorrect (reporting that the expression
requires one or two parameters), and repeated.  Remove the now-unused
ZeroOrMoreParameters enum value.
Undefine local preprocessor loop variables.

Most occurances of this pattern already contain the undef, so add it to
the rest too.
cmTarget: Move a variable initialization closer to where it is used.

This is more readable and easier to reason about.
add_library: Disallow invalid signatures for INTERFACE_LIBRARY.

Document the valid signatures. Add a test for the IMPORTED GLOBAL
signature.
cmTarget: Fix system include annotation propagation.

Direct users of IMPORTED targets treat INTERFACE_INCLUDE_DIRECTORIES
as SYSTEM, after commit a63fcbcb (Always consider includes from IMPORTED
targets to be SYSTEM., 2013-08-29).  It was intended that transitive
use of an IMPORTED target would have the same behavior, but that
did not work.  The implementation processed only direct dependencies
in cmTarget::FinalizeSystemIncludeDirectories.

Implement transitive evaluation of dependencies by traversing the
link interface of each target in the link implementation.
Don't allow include() of export(EXPORT) file at configure time.

As a new feature it does not need to participate in CMP0024.

Store cmExportBuildFileGenerator instances which correspond to the
export(EXPORT) signature in a second map which does not own the
pointers.  This avoids the need to add cmExportBuildFileGenerator
and dependencies to the bootstrap system.
Merge topic 'minor-cleanups'

84fac67 Don't allow include() of export(EXPORT) file at configure time.
faedd2b cmTarget: Fix system include annotation propagation.
9eb06d0 add_library: Disallow invalid signatures for INTERFACE_LIBRARY.
10d65d5 cmTarget: Move a variable initialization closer to where it is used.
0f3e8e9 Undefine local preprocessor loop variables.
9ba47ee Genex: Reform error-checking for nullary/unary expressions.
fa651c7 cmTarget: Remove some of the INTERFACE_LIBRARY whitelisted properties.
61d138a cmTarget: INTERFACE_LIBRARY is always EXCLUDE_FROM_ALL.
3429541 export: Rename some variables to reflect content type.
7461d67 cmTarget: Enable convenient include dir handling for INTERFACE_LIBRARY.
7fc6e3d cmTarget: Remove dead code.
2af966d Genex: Add EQUAL expression.
2d66380 cmTarget: Use strtol for numeric parsing.