raco pkg update: avoid duplicate updates of a single package

A table was incorrectly used to track both the checksum and
update status of packages; fix that, so that `raco pkg update --all`
doesn't generate a plan with multiple updates of a single package.
Meanwhile, also protect against multiple and inconsistent planned
updates of a package (by collapsing multiple consistent plans into
one).
raco pkg update: adjust `--update-deps` handling, again

Still trying to get the dependencies-have-changed-for-a-link case
right without breaking other cases.
Take advantage of new smaller pkgs.
raco pkg update: fix conflict checking vs. installed being updated
Fix typos in pkg docs
generalize `{impersonator,chaperone}-of?` on immutable hash tables
raco setup: repair clean-up of PLaneT info-domain cache

Unintentional shadowing caused the info-domain clean-up code to reject
all PLaneT path registrations. As a result, installing a PLaneT
package removes all info-domain mappings (used to find documentation,
`raco` commands, etc.) for other PLaneT packages. Running `raco setup`
repairs the problem, because it re-adds all entries after
(incorrectly) clearing them out.
fix UDP receive on Windows

When the received message is larger than the space available, it's
still received.
Remove dependency on `compatibility/mlist`.
Move tests for SRFIs to "racket-test".
Another couple "racket-test-core" fixes.
added hash/dc
Add various changes to sconfig and configure.

- Modify the features used by OpenBSD (not everything was
  tested). Mostly copied from Linux, FreeBSD and NetBSD.
- Add support for Bitrig, a fork of OpenBSD. Eventually
  they will differ more and more from OpenBSD.
- Typos and extra trailing spaces.
- Update config.guess and config.sub from GNU.
remove accidentally re-added "native-pkgs"
Finish fixing dependencies of "racket-test-core".

This required moving some tests to "racket-test", and putting them
in modules that use `rackunit`. Also, some uses of rackunit were
removed and switched to more primitive systems. Some improvements
here, particularly in "foreign-test.rktl", would still be good,
but everything passes at the moment.
adjust hash/c so that it always copies immutable hashes

before this commit it would copy them only when the weren't
already impersonated/chaperoned, leading to different
contract checking that can be confusing in that case

it did this because the chaperone-of? check wasn't general
enough to cope with copying always, but since commit
b05d07ad104 it now is
fix enforcement of size limit in prefab struct descriptions

Closes PR 14888
reject prefab specs with bad mutability indices

Closes PR 14887
fix a test

Allow an inferred function name to require "|...|" symbol escaping.
Win64: fix stack-trace imprecision

Propagates repairs of 71e0bdfcff to Win64 stack handling.