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".
make site: add support for rendering PDF documentation
raco setup: send Scribble debug into to log as well as verbose
path->collects-path: repair for single-collection packages

Added an optional `#:cache' argument that is propagated to
`path->pkg', if necessary.
distro-build: support for adding READMEs

This is a first cut; the default "README" configuration will be
improved.
change `release-notes' "info.rkt" field to `release-note-files'

The change avoids a collision with PLaneT fields.

Also, add checking for the form of a `release-note-files' value.
find-relevant-directories: fix 'no-user mode
clean up places benchmark compilation
Update docs for the contract profiler's new location.
Fix bug when profiling with no samples.
Fix deps.
raco setup: run Reference sequentially before other documentation

Otherwise, the Reference and Guide run concurrently, so the
Guide's section titles do not converge until a second run, which
forces many documents to a third run.
raco pkg update: setup collections of dependent packages

If package Y depends on package X, and package X is updated,
then include the collections of Y in the set passed to
`raco setup'.
Fixed file/md5's conversion for TR according to the documentation.
Move most of the `planet` collection to 'planet-lib'.
Move distributed places to their own package.
Added a benchmark file for performance of gen:dict and gen:stream generics.
Added a #:derive-property option to define-generics.

The define-generics form can now derive existing struct properties, so that any
instance of the new generics group is also an instance of the struct property.