Consensus nans/infs cleanups
`@bytes` => `@allocated`; only run code once; don't pollute namespace.

Running the code twice is unnecessary since the GC counting is done in
the function body, which must have been compiled already in order to be
running at all. So compilation is already done by the time you're doing
the GC measurements.

This whole approach of evaluating the given expression inside a function
body strikes me as quite likely to behave unexpectedly. It would be nice
to figure out a different way to avoid contamination from compilation.
Fix #3739
Add test for #3739
fix #3731 (make win-extras error on i486)