adjust find-string in text% so it doesn't allocate as many temporary strings

Also, Rackety
racket/class: fix interaction of `class/c' and `send-generic'
reference: rerrange docs on synchronizable events

Put the details consistently with event datatypes, instead
of trying to put them all in `sync', which better reflects
the extensibility of the set of synchronizable events.
adjust the search bubbles so they flicker less when typing
adjust DrRacket logging support following comments from Neil Van Dyke

- use the same font/size as the definitions/interactions window
- add a checkbox to control scrolling behavior and,
- when scrolling, scroll to the begining of the line, not the end
guide: improve explanation of transformer procedures and identifier macros
fix GC bug

The bug was introduced by commit aa08a68424, which added
support for phantom bytes.
fix bug in help/search docs
git rid of thread unsafe use of load-collections-xref

This was there, I believe, to avoid latency when clicking
on the [docs] links in the language dialog. But now that
we're using a database anyways, loading the xrefs is fast.
remove fancy delay dance around load-collections-xref
Improve the logger GUI in DrRacket

One drawback to the current situation (after this commit) is that all
log messages are sent into the user's logger, even messages that come
about as part of DrRacket's implementation. It isn't clear how to fix
this without enumerating all of the possible messages to share and
explicitly forwarding them (both of which are suboptimal things).

On the plus side, the GUI now uses the "debug@GC" notation in a text
field, and when the logger pane is not open, there is no extra work
going on. Plus other, minor GUI improvements.
logger GUI bug

when a tab is created, the logger gui controls may not
have been created, so in the case don't try to update them
add `scribble/tag' and clean up some tag-related documentation and functions

Includes the addition of `make-section-tag' and `taglet?' to
`scribble/base'.
move and fixup docs for the "help" collection
minor doc edits

consistent capitalization of section titles
add a basic test of the logger GUI
added make-module-language-tag and use it and make-section-tag
in a few places
scibble: repair related to recent `scribble/tag' contracts
fix dist spec
logging: allow name in `log-message', report it in a log-receiver evt

The synchronization result of a log receiver is now a vector of four
values, instead of three, where the last one reports the name.

Also, an optional argument to `make-logger' provides a notification
callback for each event sent to the logger.

These changes enable more control over loggers and events. Suppose
that you have processes A and B, and you want all log events of A
to be visible to B, but not vice-versa. Furthermore, you want the
log events to appear at B in the right order: if A logs an event
before B, then A's event should arrive at a log receiver's before
B's. Now that a log receiver gets the name associated with the
original event, and now that the name can be re-sent in a
`log-receiver', it's possible to give A and B separate loggers and
send all of the events from A's logger to B's logger. Furthermore,
you can use the notification callback so that when an event is logged
in B, you can make sure that all available events from from A's
logger have been transferred to B's logger.