meta/pkg-push: fix for "racket" package
scribble docs: tweak language related to collections and packages
document details of collection and package installation

This information is about internal implementation details, more or
less.  Some details can leak out, such as when files get mangled or
browser cookies get stuck. Mostly, though, the intent is to document
how various of pieces fit together to make builds and distributions
work.
scribble/manual docs: corrections on `#:link-target?` and `#:indirect`
setup/dirs: change default doc indirection to a useful URL
fix handling of code compiled to ignore

When the compiler sees `(if #f A B)`, it compiles A in a throwaway
mode, but the throwaway mode need to produce a slightly more plausible
result than it was so that further throwaway transformation is not
confused.
scribble: #:doc-id argument to `load-xref` and associated plumbing

Keep track of the target document name (i.e., the name of the
directory that will contain the target document) for a cross
reference, when known. This identification enables a simpler dynamic
resolution of a hyperlink in almost all cases, istead of requiring
a search for an arbitrary corss-reference key.

Indirect links still need a mapping of cross-reference keys
to document locations, but the mapping can be pruned to just
section and module-name keys.

This change cuts a generated "local-redirect.js" for the main
distribution to 1/8 of its size.
scribblings/local-redirect: break xref-key directs into on-demand parts

Further reduce the "local-rediretc.js" file size by breaking out
the table of cross-reference keys --- which is only needed for indirect
links, and is therefore used infrequently. Furthermore, break the set of
keys into multiple pieces based on a hash of the key string, and each
piece is loaded independently on demand.