proc.c: rb_block_min_max_arity
* proc.c (rb_block_min_max_arity): new function to get arity range
from the current block.
vm_eval.c: rb_lambda_call
* enum.c (enum_collect): make the block arity same as the given
block. [Bug #13391]
* internal.h (vm_ifunc): store arity instead of unused id.
* proc.c (rb_vm_block_min_max_arity): return ifunc arity.
* vm_eval.c (rb_lambda_call): call method with lambda block.
merge revision(s) 59357,59358: [Backport #13391] [Backport #13404]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e