modernize stlc.rkt and eliminate ellipses so that well-typed generation works
scribble: fix image metrics in HTML output for exact fractions

Avoid generating sizes such as `1003790/1581`.
use-before-definition analysis: fix checking of `set!` form

Treat the RHS of `set!` as escaping to an unknown context, so
that any variables it references are treated as unprotected.
use-before-definition analysis: fix handling of `let[*]`

Bindings in `let` and `let*` need to be tracked much the same
way as for `letrec`, so that

 (letrec ([b (let ([d (lambda () c)])
               (d))]
          [c 1])
   b)

raises an exception.
letrec-check analysis: remove no-op part of implementation

The `deferred_uvars` list is constucted so that it always
has the same length as `uvars`.
use-before-definition analysis: fix checking of `with-cont-mark` form

Similar to the `set!` problem.
fix "fixing letrec" pass

Adjust the compiler pass to insert checks for #<unsafe-undefined>.
The chanegs amount to throwing out the old attempt to follow the
implementation sketched in "Fixing Letrec", and instead use a
simpler abstract interpretation.
racket/gui: report AltGr combination for left Control plus right Alt

Use the new AltGr report to enable Control-Alt- combinations in
DrRacket (and other framework programs) when they do not intefere
with plain AltGr combinations.
bump version
meta/new-web: handle versionless source variant

Although a versionless variant of the source bundle is available,
we leave it off the web page, because it's intended for automatic
processes.
racket/class: add missing check for #<unsafe-undefined>

When a superclass method is called before the superclass
is initialized, then all field accesses need to be guarded.

Robby found this one.
racket/draw and racket/snip: avoid some undefined-checking wrappers

The changes to `pen%` and `brush%` are related to the
`racket/class` repair of the previous commit, while the
`style%` change is because I didn't look at it before.
remove dependency on racket/snip (use file/convertible instead
of a direct reference to bitmap-snip%)
added pict-snip pkgs
added pict-snip to the main-distribution pkg
fix bug in names that begin with _r
add examples directly to judgment-holds docs

(as well as a pointer to other examples elsewhere)
use path->relative-string/library's cache argument to
make the 'Open Require Path...' dialog more responsive
meta/pkg-build: support version for pkg catalog query
fix broken doc link to R5RS

There's no good way to fix the link, right now. Since the Guide and
R5RS packages depend on each other, though, we can expect that they're
installed at the same time and a relative reference will generally work.