rustc: allow "omitting" visit glue.

This adds `-Z noop-reflection` which causes all visit glues to be
empty. As an example of its effects, an optimised libsyntax.so is 300
KB (5%) smaller and requires 14MB less memory to compile.

This is likely most useful for #[no_std] crates using closures or trait
objects (which require a tydesc to be created for their contained types)
to avoid the code bloat of the otherwise unused visit glue.