SI-6736, SI-6747 optimize Range.foreach

After the all-day experiment for optimizing `Range.foreach`,
the best combination found is putting all lazy val accessors
into the loop.

I couldn't find any reasonable explanation from manual
inspection of 1) generated bytecodes, 2) JIT compilation log,
and 3) JIT inlining log. I guess non-deterministic behavior
of JIT compiler affected non-deterministic benchmark results.

If you have an interst to further details:
https://github.com/scala/scala/pull/2477#issuecomment-17350361