Don't track syntax with unknown source locations

Avoids recording original syntaxes with a source or position
of #f, since these are usually intermediate syntax pairs that
don't correspond to actual source syntax.

For example, in a (#%module-begin . rst) in a submodule, the
underlying pair may contain an identifier and a cdr that is a
syntax object. That cdr will have #f source and position and also
does not correspond to any source syntax.

Leaving such syntax objects in the table means there are spurious
hits later when a syntax object with an unknown source location
is looked up.

Closes PR 14389
Add an explanation of the test case for PR 14389
Fix expected source location for improved location preservation.
note on ordering of discrete-dist-probs and discrete-dist-values
places: fix gc of place channels containing place channels

The bug was a kind of typo: using `&` where `%` was intended to
implement a counter wraparound.

This bug is an even more likely candidate to be resopnsible for the
occassional crashes from the DrRacket easter-egg test.
places: improve comments on msg_chain treatment
nats/e -> nat/e
Have cons/e use list/e and make explicit when using finite cons/e

Also add to-stream and make cons/e tests less specific
Partially implemented mixed fin/inf list/e
Fix bugs in tuple reconstruction and slice/e
Make inst mark the #%expression.
pkg/lib: add `#:versions?` argument to `extract-pkg-dependencies`
raco setup: check package version deps and multiple module declarations

The package dependency checking process was already gathering all the
reelvant information, or nearly all of it, so it's relatively cheap to
add the checks.
make pkg-links: shortcut for no-change case

Taking a shortcut skips dependency and module-declaration checks, but
that job is now covered by `raco setup`.
setup/getinfo: shortcut for simple modules

When an "info.rkt" module is simple enough, build a hash table
directly instead of compiling and loading the module.
New indentation rules implemented and fixed typo and bug

1) Indentation rules to to count paren(indentation):
Return number of parenthesis till the outmost “@“ annotation,
if the there is "[", we check if it has "@" right after if and at the
same line, if so, we add the number of characters between "[" and
the beginning of the line it appears
2) line push back rules:
we do not push back lines begin with “@“ that
a) has keyworld "codeblock" or "verbatim" after
b) contains “[” and multiple lines before the closing “]”
racket/gui: fix for Mac OS X 10.6

Closes PR 14482
add invariant clauses to struct/dc (keyword #:inv)
Typed Racket history for 6.0.1.

Please include in release.
Make standalone annotation use #f instead of #'#f.