Ninja: Use 'console' pool for CMake re-run if possible (#14915)

The pre-defined 'console' pool is a non-buffered pool that runs with a
depth of 1.  CMake re-run cannot be run concurrently and it will
eventually output something.  A non-buffered pool allows to get it as
soon as possible

Also, generate the minimal required version of Ninja in the build file.
CPackWiX: Work around RelativePath() returning an empty string for the root
ctest: update documentation for CTEST_MEMORYCHECK_TYPE

The AddressSanitizer value was not documented.

Also fix some typos.
ctest: add support for additional sanitizer options

Sanitizers receive options through their environment variable; support
user-specified options here.
cmParseCoberturaCoverage: Initialize CurFileName to empty string

When the file is not found in $CMAKE_SOURCE_DIR/<file path>,
the CurFileName pointer remained set to the previous file.  This
caused the new file's coverage data to populate the into the
wrong object giving incorrect results and occasionally resulting
in a seg fault.
FindThreads: use a macro for the repetitive thread library checks
CPackIFW: Search algorithm update

Variables like CPACK_IFW_*_EXECUTABLE_FOUND now not needed
Fix a few more places to use cmsys::[io]fstream instead of std::fstream.
CMake Nightly Date Stamp
CPackIFW: Added support for multiple repositories

Now user can add IFW specific repo with cpack_ifw_add_repository macro
CMake Nightly Date Stamp
FindBoost: Avoid if() quoted auto-dereference

When testing CMAKE_CXX_COMPILER[_ID] values with if(MATCHES) or
if(STREQUAL), do not explicitly dereference or quote the variable.
We want if() to auto-dereference the variable and not its value.
Merge topic 'FindThreads-macro'

94a061d3 FindThreads: use a macro for the repetitive thread library checks
Merge topic 'ninja-console-pool'

9f32a241 Ninja: Use 'console' pool for CMake re-run if possible (#14915)
Merge topic 'wix-fix-root-dir-prop'

fb009f00 CPackWiX: Work around RelativePath() returning an empty string for the root
Merge topic 'fix-cobertura-parsing'

1c838add cmParseCoberturaCoverage: Initialize CurFileName to empty string
tests: fix copy/paste from tsan -> asan comments
tests: set sanitizer options properly

Prior to this, these options were just being set in the environment.
FindThreads: move checking of the -pthread compiler flag into a macro

This allows a following commit to introduce a switch to prefer that check over
searching for the explicit library names without breaking backward
compatibility.
Ninja: Fix variable duplication in RSP rules

Stream clear() resets stream state but does not actually clear its content.