adjust contract test suite to do more provide/contract => contract-out
rewriting in order to test contract-out more
make contract-out signal more errors in terms of itself
instead of provide/contract

closes PR 13752
fix thread-creation problem

When starting a thread, the thread was created and partially
initialized before trying to get a name for the thread from the given
thunk, but getting a name for the thunk could trigger scheduler
descisions, which could get confused by the partially initialized
thread.
Fix framework doc typo
support libpng16
Clean up lam-result.

Make drest a list instead of a pair, replace an int-err with a match error
which has source location, and remove static name for rest argument in error
case.
Massive cleanup of requriements in TR.
adjust generate-term docs a little

move the examples into the itemized list and include judgment-form
and enumeration examples
Redex docs edits to be more precise about picts (versus just slideshow)
raco pkg: don't treat "info.rkt" as a conflict

Even though "info.rkt" files are in collections, `raco setup'
treats them in a directory-specific way --- and that's necessary
for specifying things like `compile-omit-files' in a collection
splice.
libpng adjustment

Keep error if no "libpng" is found.
scribble/base: handle special characters in URLs

For characters in the URL that give LaTeX trouble, convert
them to % encoding.
scribble HTML rendering: unreserved-encode "on this page" links

In other words, replace "(...)" with "%28...%29" in links.
raco pkg create: support "source" and "binary" bundling

Adds `--from-dir' and `--from-install' flags to select the interpretation
of the argument as a directory or as the name of an installed package.
Relevant to PR 13669

Adds `--as-is' (the default), `--source', and `--binary' flags to
select a pruning mode.

The `raco setup' tool recognizes a `rendered-scribblings' specification
in "info.rkt" to trigger moving rendered documentation into place,
registering its tags in the cross-reference database, and fixing up
references to "local-redirect.js"; the presence of a "synced.rktd"
indicates when those fixups have been performed (since, if the package
is installed in a user-specific scope, the documentation doesn't actually
move anywhere). Finally, "out<n>.sxref" needs to report paths relative to
the documentation's directory, and then the relative-directory references
need to be suitably resolved at derserialization; some support for such
relative paths was in place, but it wasn't quite general enough before.
Make sure the Redex pattern language's 'boolean' is rendered as a nonterminal
Redex: fix a small bug in the list-machine example
Avoid doing the 2nd pass twice at the top-level

Thanks to Eric for pointing this out.
Add examples for `for/lists`
Fix regression for (begin) and simplify
Fixed in-generator's handling of arity zero.

Also combined expansion of in-generator for both expression and sequence
contexts, and made a number of places that were handling arity dynamically
to handle it statically instead.