Minor cleanups to compiler.
Add caching for collects-relative->path.
Add TR helpers for new Racket error notation
Convert check-below.rkt error msgs to new format
fix bad interaction among JIT, 3-D macro, and bytecode reader

Closes PR 14186
fix (more) closure type tracking for a procedure with only an unused rest arg

Fixs the repair in fe12a32dc3

Relevant to PR 14259
Add a #lang for additional base type environments

These are for base type environments that get required
rather than loaded with #lang typed/racket.
Add types for `syntax/stx` as `typed/syntax/stx`
Refine handling of types for struct-types

  - Added a top type for struct-types
  - Print struct-type types consistently
  - Add support for parsing struct-types
  - Allow polymorphism within a Struct-Type
Improve base types for struct-type operations
Add tests for struct-type types
Add documentation for struct-type types
Fix broken TR test

Sorry, forgot to merge this into commit
892887b before pushing the last set of changes.
setup/[main-]collects: doc and error-message repairs

Closes PR 14222
scribble: doc repair

Closes PR 14219
racket/enter: add `dynamic-enter!`
scribble/manual: make `racketblock` fall back to `racket`-style spacing

When source-location information isn't available, usually due to macros
in compiled modules, make `racketblock` fall back to `racket`-like
spacing. This improvement is visible, for example, in the documentation
for functions like `recycle-icon`.

Using `quote-syntax/srcloc` in a macro is probably a better solution,
because that will preserve the original layout including line breaks,
but the default-spacing fallback seems like an improvement over
unreadable output.
scribblings config: 'keep-style and 'no-search flag, 'omit-start section

The 'keep-style avoids imposing the Racket manual style on a
document, while 'no-search omits the search box. The 'omit-start
section is like 'omit, but the document is still indexed and
available for cross-references.

Also, recognize a 'prefixable tag shape so that the set of tags
hat support prefixing is extensible.
scribble: document all `scribble/base` CSS style classes

A demo document (linked from the Scribble manual) demonstrates how
to trigger each style class and what it looks like with the default
and manual styles.
add some missing custom printers (to recursive-contract)