avoid write-barrier memory protection for 'atomic-interior allocation

Split 'atomic-interior allocation to separate pages from other 'interior
allocation, and do not page-protect 'atomic-interior memory. Otherwise,
atomic-interior memory passed from one place to another --- especially
via the `#:in-original-place?` option on foreign functions --- can crash
due to triggering a write barrier in the wrong place.

Commit c18f6e8d6d, which changed some cross-place arguments to Pango and
Cairo to be 'atomic-interior, exposed the problem.

Merge to v6.0.1
ffi documentation: add overview section on places and thread-safety
Add contract enforcing expected values don't get returned.
Added ExtFlonum (and subtypes) and ExtFlVector to the base type environment
Added flfma/error and flfma
Rackety (mostly to bring down below 102 columns)
when selecting the teaching languages radio box,
always pick a teaching language

If one hasn't been chosen before, choose the first one
(if one had been chosen before, the code would already
select that one, and we keep that behavior)

closes PR 14452
Reminder to add optimizations for extflonums.
Consider underflow in float conversion functions.

Closes PR14462.
Add single flonums to TR random testing.
Small oversight in random testing.
fix test cases
more fixing redex / undefined interactions
Remove unnecessary class typechecking code

Also add a test for this part of TR. In particular, it
handles registering syntax definitions that are found in
a class body.
Re-enable and fix a TR class test

It turns out the test was wrong instead of the implementation.
In particular, it reversed the internal/external name and thus
the error it failed with was correct (though not the intention of
the test).
Basic optimizations for extflonums.
Add missing forms to TR docs.
More extflonum optimizations.
Tests for extflonum optimizations.
Export the ExtFlVector type.