CI: cancel runs superseded by a newer push

Each push to a pull request or branch started the full set of
workflows, about 200 jobs, even when a newer push had already replaced
it. A concurrency group per workflow and branch or pull request now
cancels the older run.

Runs on master are never cancelled, nor are runs started by a user in
the list in each workflow file, which holds just wsfulton for now. These
runs get a concurrency group of their own, as with cancel-in-progress
set to false a run in the same group would still wait for the running
one and replace any run already waiting. Regular contributors who want
every push tested can ask the SWIG maintainers to be added to the list.

Assisted-by: Claude Code (Opus 5.5)
4 files changed