fix bug in online check syntax's save file notification

Before this commit, the files that are loaded during expansion
were discarded when an error during expansion occurs. This commit
saves them: unless the program is something like

  (begin-for-syntax (kill-thread (current-thread)))

the handling that deals with that kind of situation (as opposed
to just an exception being raised) doesn't try to save them

Do not merge to 5.3.2: this bug isn't serious and the new code
is not as well tested as the old
move the ╬ char and friends into a separate file

do not merge to 5.3.2
universe restart test, bug from Marco
fixed a bug that prevented universe from restarting on some occasions
Replace uses of Type? with Type/c?.
Make TR compile with contracts enabled again.
Add tests for PR 13094.

The bug itself was fixed already when ordinary
type variable scoping was fixed.

Closes PR 13094
fix bug introduced in f315f08dc3af4879b5456a1274b143e637cac47d

closes PR 13435

Also cleaned up one more threading problem (this one was
probably innocuous, but it is hard to be sure and the
rewrite is easier to see that it isn't problematic)
Made arrays strict by default; please merge to release

* Added parameter `array-strictness', default #t

* Added `array-default-strict!' and `array-default-strict', which act
  like the functions without "default" in the name when
  `array-strictness' is #t; otherwise they do nothing

* Lots of small changes to existing array functions, mostly to ensure
  computations are done using nonstrict arrays, but return values are
  strict when `array-strictness' is #t

* Added strictness tests

* Added tests to ensure untyped code can use `math/array'

* Rewrote `array-map' exported to untyped code using untyped Racket

* Rearranged a lot of `math/array' documentation
Move cfg-parser from the algol60 collection to parser-tools.

Discussed in: http://lists.racket-lang.org/dev/archive/2013-January/011416.html

A stub library in algol60/cfg-parser will re-export the contents of
parser-tools/algol60 for backwards compatibility.
Modify cfg-parser's treatment of error function so it can consume both arity-3 and arity-5 error functions.

Meant to match the interface provided by parser-tools/yacc's parser.
Add documentation for cfg-parser.
Remove paragraph about multiple start symbols, since cfg-parser doesn't support it.
ACII art boxes keybinding - look a little harder for the box
Replace non-greedy regexp with a char-complement to improve matching performance.

Measurements show a runtime improvement of about 10% for string-heavy
JSON documents.  http://lists.racket-lang.org/users/archive/2013-January/055953.html
Add more JSON tests for embedded quotes, backslashes, and errors.
Add tests for regexp match to check for word break.
ASCII art box - don't search past extra +x space
doctored the description of event handler results; MERGE
Strip the copy-and-paste for cfg-parser, keeping the delta vs. parser.