revise phases section in small ways to match the guide's style
Hold reference to original thread during BEGIN_ESCAPABLE in place-channel sync

Fixes several bugs related to killed threads that were in the middle of
syncing on place-channels.
doc corrections and improvements related to submodules

In particular, add `module+' to the Guide.
allow `(submod "..")' as a shorthand for `(submod "." "..")'

Also, `(submod ".")' is allowed as a module path; it's not useful,
but it makes the grammar slightly more regular.
minor doc improvements
redex-match violates its documented contract

This patch fixes the problem that the hole matcher may return an empty
list rather than a #f that gets sent to the caller of redex-match. I
re-ran the Redex tests and found no violations. However, I am not
confident that there isn't a more correct place to put this '() -> #f
replacement.

I will be immediately forwarding this push email to Robby to have him
check it.
Fixing the error message from PR12443
Removing the thread previously introduced which is now no longer necessary given the real problem
fix problem with measuring text and font substitutions
MSVC project fixes for various Debug and SGC modes
New Racket version 5.2.900.2.
coerce picts to PS/PDF in 'smoothed mode
Improve filter for `path-string?'.
Use the correct #%app for applications of `local' bound identifiers in the student languages.
add a preference to control whether or not there is an extra
pixel of space in between lines in DrRacket.

This change is based on Matthew's experience having a look
at the font setup on the three platforms.

He writes:
>  * Mac OS X: the convention seems to be to add space between lines.
>   TextEdit, for example, looks like DrRacket: the maze has spaces.
>
>   (I can't find a font that makes the maze look right, actually, even
>   if I adjust the line spacing.)
>
>  * Windows: the convention seems to be that space is built into the
>   font. DrRacket (and SirMail) draw lines more sparsely than Notepad.
>
>   Perhaps consistent with the differing conventions, the height of
>   "Courier New" at 11-pixel size is 14 on Windows, 13 on Mac OS X.
>
>  * Unix: the convention seems to be to add space. DrRacket looks like
>   the default Terminal and Text Editor programs on Ubuntu.
>
>   The maze nevertheless looks right everywhere, because the glyphs
>   extend an extra pixel above the declared bounding box!
clear the interactions text's undos from the drracket thread, not from the user thread
Xrepl improvements, mainly around the treatment of module names.

* Get rid of the concept of `modspec': `getarg' now has `require' for
  require specs and `module' for a module name (the latter is what all
  previous uses of 'modspec except for ,require really needed); command
  descriptions use "<require-spec>" and "<module>", documentation
  adjusted as well.

* `module-name?' etc turn to `known-module' and `known-module-name',
  with a saner behavior, and tests to keep it sane.

* This cleans up a lot of things.  Two specific points: ,switch works
  better with toplevel-defined modules (see the corresponding change in
  the test suite), and also fixes PR 12148.

* Ensure that ,sh commands return void.

* Add tests for ,r with non-atomic require spec, and for use of $F in
  ,sh commands.

* Improved the test suite, including uses of `module+' so each file can
  be run by itself to perform a subset of the tests.
Some cleanups, mainly around badly indented CPP directives.
Improve intro to the concept of phases, fix some scribble typos, reformat.
Minor improvement: use `make-rename-transformer' instead of a macro.