* PR Checks: use `macos-12` runners for CLI v. < 2.15.1
Prior to CLI v2.15.1, MacOS ARM runners were not supported by the build tracer. "macos-latest" is now an ARM runner, so we run these tests on the old CLIs on Intel runners instead.
* Log a warning if SIP is disabled and CLI is < 2.15.1
* Add changenote for SIP-disabled support on old CLI versions
* Set up Python 3.11 for all MacOS checks
Refactor the existing classes of configuration errors into their own file; consolidate the place we check for configuration errors into `codeql.ts`, where the actual command invocations happen.
Also, rename the `UserError` type to `ConfigurationError` to standardize on a single term.