New Racket version 5.3.4.4.
fix iteration on large hash trees

Bug introduced by 7a8c2ff063: a tree can be deep enough that the
representation of the path to the current item can be too big to
fit into 32 bits. It will always fit in 64 bits, though.

Merge to 5.3.4
fix NACK fix

Fixup for 74fb6feb45.
pkg: "module name resolver" and "index" -> "catalog"

This termonology change affects lots of function names from `pkg/lib'
and `pkg/db' (former `pkg/pnr-db'), and it also affects some `raco
pkg' commands.

Existing package installations that are marked as 'pnr in a
local configuration are converted automatically to 'catalog, but any
existing "indexes" configuration must be changed to "catalogs".
updated HISTORY

Merge to 5.3.4 release
redex: unfold nts once during unification

Also:
* add a backtracking limit
* check for ground terms in both term and pat environments
  when filling in generated patterns
* update tests to be consistent with the above
racket/gui cocoa: fix `enable' on window whose ancestor is disabled
ffi/unsafe: allow a constant result for asynch use of a callback

A constant result for foreign-thread use of a callback allows a
callback to return without synchronizing with the Racket thread.
A constant result is thus useful when a callback's work can simply
be skipped if the callback is applied in the "wrong" OS thread.
ffi/unsafe/objc: remove `-A'/`+A', add `#:async-apply'

Another run at the problem 57516164de was meant to solve. The
new solution just gives up when a `drawRect:' method is called
in the wrong thread, which might create refresh glitches but
avoids a deadlock in the case that the Racket thread is blocked
on the update happening in the foreign thread.
setup/scribble: avoid top-level state
raco pkg: fix `--scope user' option
pkg/gui: first cut at a GUI package manager

For now, run it with `racket -l pkg/gui/main'. The expectation
is that DrRacket will start using this GUI.
fix `exn:fail:filesystem:missing-module-path'
Add optional message flags argument to imap-append.

Previously this was hard-coded to use the \Seen flag. Now that's the
default value when the argument is not supplied.
ffi/unsafe: fix memory-management problem in recent change

Fixes a problem with bba223a9fe.
fix contract
modernize a few contracts in drracket
add a few more contracts to those that opt/c recognizes and
fix a few bugs in existing ones

also, adjust opt/c so that it logs failures to optimize on its own logger
make contract structs print a little bit more nicely.
New Racket version 5.3.4.5.