New Racket version 5.3.1.10.
fix declaration mismatch for GC function
racket/draw: fix another problem with the JPEG binding

JPEG reading and writing involve callbacks that need to be
atomic, since the stack-swapping games that a Racket thread
switch plays may not be ok with the JPEG library (as exposed
by the stress test). So, the JPEG reading and writing code
must read/write a string port, instead of directly from/to
the source/destination port, since a string port can be
used in atomic mode.
Reviewing and refactoring `math/matrix', part 1

* Finally added `array-axis-expand' as a dual for `array-axis-reduce'
  in order to implement `vandermonde-matrix' elegantly

* Better, shorter matrix multiply; reworked all matrix arithmetic

* Split "matrix-operations.rkt" into at least 5 parts:
 * "matrix-operations.rkt"
 * "matrix-basic.rkt"
 * "matrix-comprehension.rkt"
 * "matrix-sequences.rkt"
 * "matrix-column.rkt"

Added "matrix-constructors.rkt"

Added `matrix', `row-matrix', and `col-matrix' macros

A lot of other little changes

Currently, `in-row' and `in-column' are broken. I intend to implement
them in a way that makes them work in untyped and Typed Racket.
Moar `math/matrix' review/refactoring

* Split "matrix-constructors.rkt" into three parts:
 * "matrix-constructors.rkt"
 * "matrix-conversion.rkt"
 * "matrix-syntax.rkt"

* Made `matrix-map' automatically inline (it's dirt simple)

* Renamed a few things, changed some type signatures

* Fixed error in `matrix-dot' caught by testing (it was broadcasting)

* Rewrote matrix comprehensions in terms of array comprehensions

* Removed `in-column' and `in-row' (can use `in-array', `matrix-col' and
  `matrix-row')

* Tons of new rackunit tests: only "matrix-2d.rkt" and
  "matrix-operations.rkt" are left (though the latter is large)
mingw32: make no-futures, no-places build work
mingw32: use same strategy for thread-locals as MSVC

The gcc implementation of `_thread' seems to be much
slower, so we use the inline-assembly technique from
the MSVC build plus a hack in "main.c".
mingw32: fix MSC-style underscore consistency
clear some pointers after they are free()ed

If the pointer value is kept, then its possible (though unlikely)
that the GC will get confused.
places: fix initial stack setup

This repair likely affects all uses of gcc 4.6.x and
later.
planet2: remove "METADATA.rktd" compatibility
planet2: "package name service" => "package name resolver"
planet2: versions for dependencies
planet2: include the Racket version number in a PNR request

The version number is included as the query part of the constructed
URL, so it is easily ignored by a server. The intent is that the
PLT PNRs will eventually support version-specific results.
fix build problem for non-Windows platforms
hold onto all frames weakly
places: fix subprocess-reaping thread creation

Before the repair, a new thread was created with each
subprocess.
restore incorrectly removed code

But fix its interaction with places and GC, allocating the symbol
on startup instead of per-place.
add display-changed method
drracket tracks the frame position and size on a
per-monitor-configuration basis and (possibly) moves/resizes
the frame when it changes