Do not setsid() just because of --batch-mode.

Commit 6b474c5 has turned --batch-mode into something like a
--background option, ensuring that setsid() is called.  Re-worked the
logic so that tty interrupt characters are not frobbed in batch-mode
AND setsid() is not called (except according to the curious but
ancient heuristic/default: when there is no tty on stdin, stderr and
stdout and no --emacs option).
Update old "package: (ffi syntax)" comments.
Support callout struct and union parameter and return types.

Requested by Peter Feigl <craven@gmx.net>.
Report a meaningful error message if the TUTORIAL file is hosed.
microcode: Quiet some unused-but-set-variable warnings.
Unparse the symbol whose name is `.' as `|.|'.

Add a trivial test for it.

Found by Pavel Panchekha.
Finish replacing type code SEQUENCE-2 with SEQUENCE.

Hack runtime.sf to inform older hosts about new type code.
Add thread-queue/dequeue-no-hang!, rm peek-until, fix -no-hang.

Fix when-non-empty-before, which did not append! to waiting-dequeuers,
and thus would only time out.

Un-export peek-until.  Its TIME argument is... weird -- not universal.
Swat can import it.
tests: Replace : with / so progress notes are not errors to Emacs.
Undo commit 93d3d5c so that "out of memory" need not be The End...

...even in batch-mode.  The effect of 93d3d5c can be had more
elegantly, as pointed out in 6b3f8e0: "Always wrap stdin in a (begin
...)..."
Correcting a typo.
Clarifying that ephemeron-broken? indicates that an ephemeron is whole by returning #f.
Pointing out what ephemerons are for; emphasizing the special feature
of ephemerons, and the distinction between ephemerons and weak pairs.
Grammar.
Documenting the fact that MIT Scheme implements SRFI 69, the
relationship between the MIT Scheme native hash table API and the one
specified by SRFI 69, and the reason why it is appropriate to provide
both (it's not pure backwards compatibility).  This includes
documenting the bugs in SRFI 69.
Documenting hash-table/modify! and hash-table/intern!.  Also slightly
reworded the introduction to hash-table/lookup, to make it more
positive.
Rewrite the description of intricacies with ephemeron-broken? per
Taylor's recommendation to name the ephemeron explicitly and use more
active language.
Collect "Weak Pairs" and "Ephemerons" into a section called "Weak References".

State the common motivation, define the common terminology, and
describe the contrasts between weak pairs and ephemerons in the common
section, and tighten the "Weak Pairs" and "Ephemerons" sections
themselves back to just describing their data structures.
Deparenthesize.
Improve documentation of hash-table/{modify,intern}!

By the mechanism of implementing Taylor's suggestions.  Also add
sentences about average running times.