Avoid wrong use of popular but ambiguous variables (`WIN32` etc.) in
scripts and portfiles by detection in CI.
Sometimes the variables are used wrongly, and sometimes this isn't
caught in PR review. This PR tries to catch those variables (when in the
active code path in script mode). [This can happen to every
contributor](https://github.com/microsoft/vcpkg/pull/34356#discussion_r1360074122),
even if he/she knows the rules ... vcpkg is raising the bar higher than
usual, having to deal with targets and hosts even in script mode.
(`b2-options.cmake` (boost fragment) shows where we get if we don't pay
attention: the same code being used in script mode (`WIN32` meaning
host) and in project mode (`WIN32` meaning target).)
The new check doesn't break any user builds because it relies on command
line options. However it changes the ABI hashes.
```
Starting package 895/1846: hash-library:x86-windows
Building package hash-library[core]:x86-windows...
-- Note: hash-library only supports static library linkage. Building static library.
-- Downloading https://github.com/stbrumme/hash-library/archive/hash_library_v8.tar.gz -> stbrumme-hash-library-hash_library_v8.tar.gz...
-- Extracting source D:/downloads/stbrumme-hash-library-hash_library_v8.tar.gz
-- Applying patch 001-fix-macos.patch
-- Using source at D:/buildtrees/hash-library/src/library_v8-6124f7a6ce.clean
-- Found external ninja('1.10.2').
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Installing: D:/packages/hash-library_x86-windows/share/hash-library/copyright
-- Performing post-build validation
-- Performing post-build validation done
Uploaded binaries to 1 HTTP remotes.
Installing package hash-library[core]:x86-windows...
The following files are already installed in D:/installed/x86-windows and are in conflict with hash-library:x86-windows
Installed by czmq:x86-windows
include/sha1.h
Elapsed time for package hash-library:x86-windows: 3.227 s
```