[IR] Fix variable depths in instance_eval / module_eval scripts.

* Variable scope depths are off by 1 (relative to IR scope nesting
  levels) when they show up in instance_eval / module_eval vs. normal
  binding evals.

* Pass along information about eval type and use it to eliminate
  the extra implicit scope.

* This module_eval vs binding eval information also lets us get rid
  of a longstanding FIXME/hack in the interpreter.

Test results changes
- No change in rubyspec tests.
- Fixes a bunch of MRI test failures.
- A new failures comes from removing the FIXME/hack -- to be
  investigated later.
- It also adds 2 flip test errors from $JRUBY_HOME/test/test_flip.rb --
  to be investigated.
[IR] Fix lookup of %flip vars in eval scopes

* Eliminates the two flip test failures from test/test_flip.rb
  introduced in the last commit.