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
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
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