Fix UTF-8 symbol repair

Commit 6a5a3037b4 was not quite right, because it used sightly the
wrong variant among a dozen decoding functions.  The test suite caught
the problem, but I forgot to run it before pushing.

Also, repair the "Inside" documentation on the function that was
incorrectly used, and document the new variant.
Fix reading of badly encoded symbols from bytecode

This is the third try to fix the bug exposed by "fuzz.rkt". Previous
repairs addressed a symptom at the point of printing bad symbols,
instead of the cause at a failure to validate a symbol's encoding
when reading bytecode. This one fixes reading.
Fix type for syntax-local-phase-level
distro-build: add "versionless" option

Versionless mode avoids putting a version number in an installer's
name or in installation paths.
Optimize match patterns of the form (list x ...).

This also applies to `(mlist x ...)`, even though
that involves two traversals when only one is
required by the old method. Timing suggests that
the new code is nonetheless faster.
In -and move the NotTypeFilters to the begining as well.
Change type<? to rep<?.

Also moves type-equal and rep<? to rep-utils.
Simplify and document compact.
Make with-lexical-env/extend-props not execute its body if its dead.
Do not rebuild the environment made by check-non-recursive-clauses.
Use (listof tc-result?) instead of tc-results? when inferring types.

tc-results? does not represent Bottom in a way that maintains the number
of values that generated the Bottom.
scribble: 'border and '{left,right,top,bottom}-border properties for cells
racket/tcp: use %E instead of %e for socket error reporting

Using "%E" is right for WinSock errors, instead of "%e".
Add equality operations for Reps.

This speeds up microbenchmarks by 50%, and new-metrics.rkt by 30%.
inside: modernize overview to discourage extensions and embedding

The beginning of the "Inside" documentation was still geared toward
writing extensions or embedding Racket, which almost no one does any
more. Shuffle and change the beginning to orient it around the
foreign-function interface, instead.
optimizer: test use of virtual clock in branches

Test that the optimizer don't move some expressions inside if branches.
add typed/racket/async-channel
Make interning work on Rep-seq for Reps with complicated fields.

This gives ~3% improvement in new-metrics.rkt
Fix infer dotted cases when there are constraints on the dbound.

Closes PR 14593.
Remove unused kw field in lam-result.