bugfix in the closure support
allow quote require forms in the argument to allocator-setup

This is mostly to better support test cases so that we
can set up namespaces that have specific collectors in them
(easiest to do with quote-based requires)
when anormalizing, never lift out identifiers from application expressions

The code used to avoid lifting identifier in more restricted circumstances,
but it seems safe to alway avoid that, which can lead to a lot
less lifting
add tests for plai's get-root-set (in gc2)
fix a bug in the way let-values decided which variables are roots

also, Rackety
adjust the expansion of #%module-begin so it doesn't
generate so much code

(Mostly to avoid pain with the macro stepper, but also
reducing the amount of code macros generates is good
for performance reasons)
Revert hack for top-level, institute real fix.

As a side-effect of this fix, we don't need the thunking behavior for
external identifiers anymore.  Even better!

Also include some other cleanups suggested by Ryan and moves from
quasisyntax/loc -> syntax/loc where we don't use the quasiquoting.