GenEx: It is not an error to specify an empty parameter

This is allowed by the CONFIG and STREQUAL expressions.
GenEx: Return after error reported.
GenEx: Report actual target name not found, not "0" each time.
GenEx: Parse comma after colon tokens specially

Otherwise the comma is treated as plain text by ParseContent.

$<STREQUAL:,> should be valid and true.
$<STREQUAL:,something> should be valid and false.

$<STREQUAL:,,> should be non-valid as it is 3 parameters.
$<STREQUAL:something,,> should be non-valid as it is 3 parameters.

Additionally, this allows reporting the correct error for other
expressions. For example $<TARGET_PROPERTY:,> should be invalid
because it has an empty target and empty property. It shouldn't
attempt to read the property ',' on the 'implicit this' target.
GenEx: Validate target and property names.

They must be non-empty, and match a restrictive regexp.
GenEx: Ensure that the empty CONFIGURATION can be used conditionally.

The CONFIGURATION can not be manipulated at unit testing time, so
this is not unit tested further.
GenEx: Add test for $<BOOL:> with empty parameter.
GenEx: Add tests for "0" and "1" expressions with literal commas.
GenEx: Don't use std::vector::at(int).

It might not exist with GCC 2.9.
Ninja: don't pollute current dir when using gui (#13495)
Merge topic 'FindGTK2Fixes'

0594bee FindGTK2: Update local changelog
8093f6c FindGTK2: #12596 Missing paths for FindGTK2 on NetBSD
0663803 FindGTK2: #12049 fix detection of header files on multiarch systems
b742677 FindGTK2: Rollback lib64 changes which broke header file finding
Merge topic 'ninja-compile-OBJECT_DIR'

188c73c Ninja: also set OBJECT_DIR when compiling
Merge topic 'ninja-dont-pollute-current-dir'

74fc598 Ninja: don't pollute current dir when using gui (#13495)
Merge topic 'ninja-custom-command-implicit'

aa2e1e9 Ninja: implicit dependency for custom command files
Merge topic 'ctest-svn-suncc-5.1'

ea17faa cmCTestSVN: Fix compilation with Sun CC 5.1
Merge topic 'DocumentCMakeFindPackageName'

e2b1630 Document CMAKE_FIND_PACKAGE_NAME
Merge topic 'generator-expression-bug-fixes'

7aa9927 GenEx: Don't use std::vector::at(int).
78e54b9 GenEx: Add tests for "0" and "1" expressions with literal commas.
d729e8b GenEx: Add test for $<BOOL:> with empty parameter.
354face GenEx: Ensure that the empty CONFIGURATION can be used conditionally.
8b3b88a GenEx: Validate target and property names.
b3d8f5d GenEx: Parse comma after colon tokens specially
a4985a9 GenEx: Report actual target name not found, not "0" each time.
d70650d GenEx: Return after error reported.
4801eb6 GenEx: It is not an error to specify an empty parameter
Merge topic 'doc-if-NOTFOUND'

f63304d if: Document that plain 'NOTFOUND' is a false constant
Merge topic 'doc-regex-range'

0ed6ff7 string: Clarify regex documentation of '-' behavior
CMake Nightly Date Stamp