[IR] Fix begin block interpretation

* BEGIN blocks don't have their own variable scope and just
  share the scope of their lexical parent -- just like for-loop
  bodies.

* This patches hacks its by using an IRFor for BEGIN blocks
  and eliminated the begin-block special-case in InterpretedIRBlockBody
  code.

* Ideally, we would create a specialized scope type for both IRFor
  and BEGIN blocks and use it for both.

* Fixes the last significant rubyspec failure (compared to -X-C).
  HURRAH!