fix bugs in the interaction between subclasses and external class/c contracts
Add initial prose for define/contract in the Guide

This commit adds a few sections that explain some of
the subtleties of nested contract boundaries.
disable the new class/c implementation for now

the new implementation doesn't provide eq? guarantees
as often as the old one does, so hold off on this until
we can sort that out. Thanks to drdr for pointing out
the problem:

http://drdr.racket-lang.org/28156/pkgs/drracket-pkgs/drracket-test/tests/drracket/teaching-lang-save-file.rkt
edit define/contract boundary discussion
check context closure language requirements properly

closes PR 14346
scribble/text: add `outputable/c` and contract checks

The `outputable/c` contract is currently just an alias for
`any/c`, however, because checking the contract seems to be
too expensive.
Minor wording fix in Guide
Add doc examples for `define/contract`
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