This relates to jruby#5847 and jruby#5795.
The diffs from CRuby in our tracer.rb were not quite equivalent
since the original would also accespt a Proc passed as an
argument. I've changed the logic here to use that argument or fall
back on a passed block.
There's also changes to how we invoke event hooks. The first just
unifies the JIT and interpreter to call the same logic. The
the second mimics CRuby when there's a frame klass and it is
either an included module or a singleton. These latter changes fix
the remaining failures in CRuby's test_tracer.rb.