gh-36954: `tox -e update_docker_platforms`
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes #1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->
Furthering my hidden agenda of bringing portability tools to the masses.
- We add `.devcontainer/portability-*/devcontainer.json` files for all
platforms tested in our CI. This makes them selectable in GitHub
Codespaces.
- The files are generated by the new command `tox -e
update_docker_platforms`, which also updates the workflow file
`.github/workflows/docker.yml`.
- The command also [adds a table to the portability testing section in
the developer's guide](https://deploy-preview-36954--
sagemath.netlify.app/html/en/developer/portability_testing#using-our-
pre-built-docker-images-published-on-ghcr-io) with links to GitHub
Packages and friendly "Run in GitHub Codespaces" buttons.
- Because 'tis the season of Spielzeugneid, [we document how to run the
portability testing in GitHub Codespaces via Docker-in-
Docker](https://deploy-preview-36954--
sagemath.netlify.app/html/en/developer/portability_testing#testing-sage-
on-a-different-platform-using-docker), useful for those who cannot run
Docker on their own computers. This uses a new devcontainer config "tox-
docker-in-docker".
- We make various other updates to the portability testing section in
the developer's guide.
<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes #12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->
### :memo: Checklist
<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->
- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.
### :hourglass: Dependencies
<!-- List all open PRs that this PR logically depends on
- #12345: short description why this is a dependency
- #34567: ...
-->
- Depends on #37030 (split out from here)
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
URL: https://github.com/sagemath/sage/pull/36954
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe, Tobias Diez