Unbox 1-argument method calls with a block in IR Interpreter

Previously with method signatures like:

 @JRubyMethod(name = "execute_query_raw", required = 1) // optional block
    public IRubyObject execute_query_raw(final ThreadContext context,
        final IRubyObject sql, final Block block) throws SQLException {

and

  @JRubyMethod(name = "execute_query_raw", required = 2, optional = 1)
    public IRubyObject execute_query_raw(final ThreadContext context,
        final IRubyObject[] args, final Block block) throws SQLException {

passing one argument with a block would result in incorrectly selecting
the 2-argument method.  This would result in an ArgumentError.

To solve this we added a specialized operation for this kind of Call.

Example from https://github.com/jruby/activerecord-jdbc-adapter/blob/v1.3.8/src/java/arjdbc/jdbc/RubyJdbcConnection.java#L712-L767.
Merge pull request #1785 from mjc/specialized-oneoperandargblockcaller

Unbox 1-argument method calls with a block in IR Interpreter