add_library: Fix target type check for non-shared-lib platforms

When checking target types for TARGET_SUPPORTS_SHARED_LIBS == false,
enumerate exactly the library types not supported rather than trying to
maintain a list of all the types that are supported.  Otherwise

 add_library(SomeImportedLib UNKNOWN IMPORTED)

warns on platforms that do not support shared libraries.

Reported-by: Kelly Thompson <kgt@lanl.gov>
FindUnixCommand: Use FPHSA to report status in standard way

Otherwise the UnixCommands were marked as not found in the summary.
Also revise the documentation.
test: add a test for clearing regex results
cmMakefile: store the number of last matches in a CMake var

With PushScope and PopScope, keeping track of another bit of data for
each scope isn't easy. Instead, store it as another CMake variable so it
gets implicitly tracked along with everything else.

This works in a revert of commit
7d674b5f0b28a610333644d417c2e8cb796cc9e4.
VS: Fix typo in VS_SHADER_MODEL lookup comment
Utilities/Sphinx: Fix link targets for mixed-case command names

When a CMake domain 'command' object is defined by CMakeTransform or the
'cmake:command' directive, generate the link target with a lower-case
name even if the command name is not all lower-case.  This is needed to
make cross-references to the command definition work since the
'cmake:command' role is marked with the 'lowercase' property.
Merge topic 'doc-mixed-case-commands'

607b39dc Utilities/Sphinx: Fix link targets for mixed-case command names
Merge topic 'vs-hlsl-typo'

955fbf29 VS: Fix typo in VS_SHADER_MODEL lookup comment
Merge topic 'fix-add_library-check-for-shared'

bd360ee3 add_library: Fix target type check for non-shared-lib platforms
Merge topic 'cached-regex-clear-fixed'

ceecd790 cmMakefile: store the number of last matches in a CMake var
7878d061 test: add a test for clearing regex results
Merge topic 'FindUnixCommands-use-FPHSA'

ff50046b FindUnixCommand: Use FPHSA to report status in standard way