Allow "*" directories in distribution specs.

Useful to avoid deleting stuff from directories that might have
non-distributed materials.
minor decompiler tweak
fix a test
terminology change again: "cross-phases persistent" modules
add `module-compiled-cross-phase-persistent?'
fix problem with `raco exe' and cross-phase persistent modules

Relevant test is "teaching-lang-executable-creation.rkt" iin
"tests/drracket".
docs tweak
Modify exn:test:check to support prop:exn:srclocs to produce good error messages even without debugging enabled.

Closes PR-13451.
adjust plai's test facility to print test failures to stderr
instead of stdout (in addition to making errors red in drracket,
this will also make some of the existing test suites more
drdr friendly)
Rackety

This commit is to giure out just how much Rackety can combat rightward drift
in this file (this was a region of code edited recently for other reasons)
Turns out that the first hunk's rightmost column (of code, not counting
comments) moved left by 39 chars and the second by 40 chars
fix a bug in ->i parsing
adjust plai test & co. to print only failing tests to stderr,
instead of printing all of them

also, adjust the plai test suites to cope with test results going
to two different places
adjust test case for improved ->i handling in check syntax
don't try to re-use the active frame when it isn't shown

This is a bit suspicious, since it isn't clear why a frame
whose show method has been called with #f should be considered
an active frame. Since changing that is a much more dangerous
change then, for now: closes PR 13564
Fix typo in `string-replace' keyword name.
New Racket version 5.3.3.7.
adjust plai test suite tests to check the ports that things now go to
`equal?' hashing: shortcut and some caching for structure transparency
improve complexity of `hash-iterate-{key,value}'

For immutable hashes, `hash-iterate-{key,value}' used to take O(N) time on
the first call for a particular table and O(1) thereafter. Now it takes
O(1) time for all calls, the constant is only slightly larger for
the non-first calls, and there's no extra allocation.
change `eq?' hashing to avoid dropping the low bit for fixnums