Use disjoint sum in redex production enumerators
Redex Enumerator support for mismatch patterns
Update redex enumeration docs
racket/snip and racket/gui: remove leftover `~` methods

The `~` methods on snip and editor-related classes are not documented
or called from anywhere. They corresponded to destructor methods back
when the classes were ported from C++.
racket/gui: change pasteboard to put location info in snips

Use the field in a `snip%` that is otherwise used by a `text%` owner
to store line information. Reusing the field avoids the need for
an `eq?`-based hash table of snips.
racket/gui: change some `eq?` to `object=?`

Some places in the editor API accept an object as an argument
where the object's identity is relevant. In that case, `object=?`
must be used instead of `eq?` to work right with contracts.
fix checking of attempt to impersonte non-struct via mutator
try to explain enumerator mismatch bug more carefully
adjust test/spec-passed so that tests continue when exns are raised

(as these usually indicate failing test cases)
fix careless error
restore "getting started" link

This change adjusts the meaning of the 'getting-started document
category, which was formerly omitted from the start page. Now,
it means a document that is listed at the beginning and at the same
level as other documents.

(Didn't just revert to the old approach to the "getting started"
entry, because it doesn't work right when "racket-index" is installed
without "racket-doc".)

Closes PR 14348
Refactor type-table

Move the provides to the top following the style guide and
add a purpose statement for the module
Add an ignore-table for TR's optimizer

This allows the typechecker to tell the optimizer or
other downstream analyses what expressions to ignore
because they contain non-typechecked code.

Use it to fix handling of `send`