rustc: gensym the module names for --test to avoid introducing names.

This requires avoiding `quote_...!` for constructing the parts of the
__test module, since that stringifies and reinterns the idents, losing
the special gensym'd nature of them. (#15962.)
linting may require that this need a license