add edit|copy and edit|select all menu items to mrlib/terminal frames
add installed-pkg-names
add support for updating packages via
drracket's "install package" menu item

It will infer whether to use 'raco pkg update' or
'raco pkg install' based on the currently installed
set of packages (but, of course, the details
section of the dialog lets you override this inference
if necessary)
Revert "adjust dependencies to allow mrlib/terminal to use the framework"

This reverts commit aa29fe01a820522aa5ddccf26e3e2f2fdbc798a6.

This change merges too much stuff into a high layer of the dependency structure
Separate out mrlib/terminal from the rest of mrlib, dependencieswise

The mrlib/terminal library fits in the mrlib collection in that it is
a random library that uses our GUI system that doesn't belong in
racket/gui somewhere.

It also doesn't really fit into the framework as the framework is
supposed to be a colleciton of useful mixins for our racket/gui
classes.

It does, however, benefit from using the framework (and the string
constants library) so the best option seems to be to think of mrlib as
consisting of separate libraries that fit into two different layers
of the dependency hierarchy. So that's what this commit does.
add note about define-judgement-form fix
move unstable/redex to unstable/gui/redex to fix dist-specs

Also, don't use unsupported unicode chars.
(Should these be added to latex renderer?)
Error message typo.
Preserve source location for struct constructor contracts.
Avoid duplicate work.
Eliminate intermediate lists.
Translate Value types to ctcs with better names

e.g., True -> '#t  instead of
      True -> "#t" for a flat-named-contract
Remove unnecessary type->contract case