filesystem-notify-evt: change inotify() implementation

Create a single inotify() connection per place, which should reduce
the latency of operations on filesystem change events and make
them generally scale better on Linux.

Internally, add a filesystem-never-changes mode, which could be useful
for platforms with fixed filesystems, but it's also for experiments in
checking the cost of filesystem change events.
add 'fs-change mode to `system-type'

Report whether `filesyste-change-evt' is supported, works
at the granularity of files, etc.
use `filesystem-change-evt' for collection paths only if low-latency

Specifically, this change disables the use of inotify() for detecting
changes to collection-links files, because the latency is too large
on some (many?) Linux configurations. (The fallback is to detect changes
to a links file by reading the whole content every time.)
Changed 'produces' to 'consumes' in ports documentation
use `CONFIGURE_ARGS_qq' in `reconfigure'
Mac OS X installers: use "ds-store" package instead of scripting Finder

The Mac OS X "installers" are just ".dmg" files with a particular
layout and background image, which are record in a ".DS_Store" file
in the disk image. We have been generating a ".DS_Store" file through
an AppleScript program and Finder, but that script has been fragile,
and the result depends on the version of Mac OS used to generate
the image (e.g., an imagine generated on 10.7 does not look right
on 10.5).

A new `ds-store' library can write ".DS_Store" files directly,
and it uses a format that is compatible with old Mac OS X versions.
configure: fix a CC vs. CC_FOR_BUILD mismatch
Move honu vim support to the honu package.
Move slatex rubber support to the slatex package.
Move shell completion to its own package.
Move honu.vim to lib directory on install.
Move honu tests to the honu package.
Move slatex rubber support to lib directory on install.
fix bug in ->

Specifically, in the case when the arrow is of the shape
(-> any/c ... any), then the predicate didn't ensure that
there were no mandatory keywords in the given function
GC clean-ups related to disabled collections and place-shared space

The changes make shared-space allocation work in GC-stress mode
(forcing "master" GCs, just like other GCs).
removed #% from 'symbol table'; clarify that they are not symbols
fix typo
enable compilation of tests formerly in "racket-test"; reorganize

A package like "gui" does not depend on a package like "gui-test",
which means that you have to specifically ask for a test package if
you want the tests. A new "main-distribution-test" package
aggregates the tests for packages that are in "main-distribution".

The "plt-services" package, meanwhile, depends on the
"main-distribution-test" package, which means that all tests are
compiled by default for an in-place build.
make installers: save client logs in "build/log" instead of "build/drive"

Also, copy log files to the destination of `make site', and report
the current time more frequently.
split "unstable" package into the usual "-lib", "-doc", and "-test"

Otherwise, packages that depend on "unstable" end up depending
on "racket-test".