Merge remote-tracking branch 'origin/jruby-1_7'
Merge remote-tracking branch 'origin/jruby-1_7'
[IR] Updated CheckArityInstr to handle keyword args.
[IR] Fixed keyword arg dereferencing in interp loop.
[IR] ReceiveKeywordArgInstr made more robust against var renames

* ReceiveKeywordArgInstr was dumbly using target variable name
  (instead of an explicit argName operand) to lookup keyword arg
  from the keyword args hash. Obviously, this code breaks in
  scopes that get optimized to remove all traces of local variables.

* This patch now handles the following kw-arg test case correctly.

---------
  def f(str: "foo", num: 4)
    [str, num]
  end

  p f1(str: "bar")
---------
[IR] Added right arg descriptor for keyword args.
[IR] Bug fix in interaction of reqd arg and kw args.

* If only a hash is passed in, a pre-reqd arg grabs the hash
  leaving any keyword args to be initialized from defaults.

  This patch fixes handling on these two test cases

def f1(x, str: "foo", num: 4)
  [x, str, num]
end

p f1("bar" => 42)

def f2(x, **h)
  [x, h]
end

p f2({})
Fix encoding with new temporary variables
Decoder of new temporary variables
Fix issue with not detecting closure on encoding a call with no args and a block
Fix threadpoll for encode/decode
Trivial removal of parens
Hack encoding to work but wrong strategy.  Make Local temps actually create local temps
Sync up semi-broken persistence (broken in the sense that it runs properly after loading persisted IR)
Remove dead code?
Record used temp and regular vars to scope.  Make %current_{module,scope} savable temp vars.
Make proper properties to control debugging output for ir persistence
Missed some debug fields
Encode %current_scope,%current_module appropriately now that it has an index again
Epic edit session to get skeleton of more custom encoding of instrs in place