Fix 2132: Split LJE check from NonLocalReturnInstr into separate instr

* Non local returns can throw LJEs in the scope they originate.
  However they could be rescued by existing rescue-handlers.

* In the previous design where the LJE-checking happened inside
  the runtime, it was too late for it to be rescued and not
  propagate outwards. For example, ensure blocks from the scope
  would run before the non-local return executed. However, if the
  LJE had been rescued, control wouldn't have reached the outer
  begin-end construct to execute the ensure block (see the
  regression spec to make sense of this).

* This patch splits out the LJE check into its own runtime helper
  instruction so that the non-local return itself is a return
  without any exception that could be raised.

* Added a regression spec.