Help: Consolidate FindRuby-2 release notes for 3.0.0
Merge branch 'FindRuby-2' into release
Merge branch 'add_definitions-no-genex' into release
Merge branch 'CMP0043-dir-prop' into release
Merge branch 'doc-find_package-build-paths' into release
Merge branch 'fix-check-build-system-crash' into release
find_dependency: Don't propagate EXACT argument.

If a package is requested with an EXACT version, that doesn't imply
that dependencies must be found EXACTly too.

Extend the macro to allow specifying that a dependency must be found
by EXACT version instead.
Record more policies on targets when created

Policies CMP0027, CMP0038, and CMP0046 have per-target meaning so
record the policy settings on targets as they are created.
Tests: Simplify and document policy scopes in RunCMake.CMP* tests

Drop unnecessary NO_POLICY_SCOPE options.  Document why the remaining
options are necessary.
stringapi: Use strings for property names

Property names are always generated by CMake and should never be NULL.
stringapi: Use strings for variable names

Variable names are always generated by CMake and should never be NULL.
stringapi: Accept strings in cmStrCmp
stringapi: Accept string parameters in methods which store to strings
makefile: Remove an unused method
genex: Store predicates as a map for faster searching

May warrant a fast path for predicates which more frequently.
stringapi: Use strings for source names
stringapi: Use strings for TryFullPath
stringapi: Use strings in CPack generator parameters

Most of these are turned into strings in the body of the method
(multiple times in some cases). Accept strings to simplify the API and
keep string construction down.
stringapi: Use strings for AddString methods

It gets turned into a string anyways, so pass them in.
stringapi: Use strings for test names