added David's check-random to test engine and teaching languages

this is somewhat experimental, but it helps with testing random functions
rewrite docs for check-random to make them student appropriate, ditto for check-expect
added some student examples to check-within and check-error
fixed structure printing, added example to check-range
upgrade pre-built libraries for Windows and Mac OS X

Mostly upgrades the drawing stack to the latest Cairo, Pango, Glib,
etc., but also upgrades the OpenSSL library on Windows to 1.0.1g.

The new "racket/src/native-libs" directory provides scripts to
rebuild the libraries from source. Those script are fragile, because
library sources and configuration scripts are fragile. The
scripts at least archive some expertise/advice in a mostly executable
form.
openssl: recognize version 1.0.1g

Merge to v6.0.1
fix `typed/test-engine`
Fix zsh auto-completion

The bash and zsh scripts expect different data from Racket: zsh expects
a list of collect roots and other parent directories of collections,
while bash expects a list of collection names
fix use before definition bug from c8f3974a2
raco pkg: improve error for failed package-source download

Related to PR 14441
fix benchmark logging to flush on every event
remove non-deterministic test, junk file
change benchmark logging to use s-exps
fix module browser for submodules
add module-browser test (should have been included in 6949473b)
make the module browser report the search result counts
and, when the search string is empty, the total number of modules
use --deps search-auto for "Available from Catalog" installs
in the GUI package manager

closes PR 14444
compile: fix namespace leak related to submodules and compilation

A reference intended to be temporary from a submodule to its enclosing
module wasn't NULLed out.
fix stepper-skipto annotation for test expansion
provide a more helpful message on failure of syntax traversal in the stepper