Dirt simple fixed-arity support in new JIT.

In order to bring the new JIT in line with the old JIT in terms of
performance, this commit makes the JIT emit a second version of a
given method with exactly the number of required arguments rather
than just an array-boxed version. This second handle is used by
CompiledIRMethod and Bootstrap to wire matching-arity calls
straight through to the right target.

This brings the performance of several benchmarks within throwing
distance of the 1.7 JIT.

Caveats:

* No checking for maximum supported arity. We try to patch through
  any number of arguments. This is good, because it means we can
  escape the 0-3 arity splitting for Ruby code, but it also means
  we're missing some verification that there's not too many args
  to handle in the intermediate MethodHandles.
* CompiledIRMethod.call now has overloads for other arities, but
  this is the only benefit to JVM6 support right now. JVM6 will
  need to emit DynamicMethod.call invocations that match 0-3 args
  rather than boxing all the time.
* This is not as generic as I'd like it to be to support multiple
  method entry points. The approach may extend well to methods
  with N..M arguments.

I have only done a bit of testing with this, but many different
fixed-arity and variable-arity methods appear to bind correctly.