add 2htdp/test port numbers to the list
raco setup: detect binary-only `setup/scribble`
scribblings/main: keep doc modules in binary mode

Even in binary mode, the "main" documents need to be re-rendered
when new packages are installed.
raco pkg: fix binary stripping of submodules
raco setup: clean up "library" installs that are directories
raco pkg create: adjust rules for for `{binary,source}-keep-files`

Allow `{binary,source}-keep-files` to override omission of an
enclosing directory. Also, adjust the default for binary mode to
keep "doc" and "info.rkt" within "scribblings" and not "tests".

With this change, starting with Minimal Racket and installing DrRacket
in binary mode gets you a working DrRacket with documentation. A
binary install is less than half the space of a non-binary install,
in part because the binary installation has fewer dependencies.
zip: add `#:path-prefix` argument
scribble: fix `history` spacing
scribble/decode: document treatment of whitespace by `decode-content`
raco pkg install: fix tmp-directory clean-up

Fix when installing from a non-directory in `--source` or
`--binary` mode, and fix clean up of a GitHub-generated archive
when using a path within the archive.
raco pkg install: change interpretation of archive with a single directory

When an archive used as a package source has all of its content
within a single top-level directory, then treat that directory's
content as the package content, instead of treating the directory
itself as the package content.

The change makes "x.zip" created with

  zip -r x.zip x

work the same as "x" as a package source. It also makes a ".zip"
for a package's GitHub repository (from clicking the "Download ZIP"
button) work the same as the repository.

This change is backward incompatible, but it's unlikely to break
any working package (since that would be a single-collection package
that provides only a subcollection).
Check function kws against expected before tc-expr

Closes PR 13898
Rework how keyword methods are handled by TR

Override the `define/foo` forms for racket/class to
allow type annotations and to use TR's keyword property.