[IR] Get rid of static scope id from non-local return handling.

* Use "statically determined" but a dynamic scope marker (dynamic scope
  reference) to figure out what scopes to return from.

* Meta class bodies need special handling since they behave like
  method bodies in terms of variable sharing, but returns from them
  behave like non-local returns.

* All previously passing tests now pass. The test case from github
  issue 1644 also passes now.

  jruby -X-CIR -e "def foo; p :in; if block_given?; yield; else; foo { return }; end; p :out; end; foo"

  TODO: Add MRI/rubyspec test case.