Adjust method definition place of Process.coerce_rlimit_resource

* process.rb: define -> none
* process18.rb none -> define
* process19.rb define -> define
Fix typo in an exception message
Handle bignum overflow immediately in primitive
Add benchmarks for Float operations
Remove fast math instruction specialization

This actually causes more performance degrations than the advantages it
has. Float operations suffer most from these changes and rather than
changing these specialized instructions for floats, we remove them all
together.

Performance of Fixnum handling doesn't seem to suffer from this change
and the JIT can optimize the regular send() path just as well as these
specialized instructions.
Improved version of the write barrier

In the common case of either setting a non reference value or setting a
variable on a young object, we don't have to call a method but check
this inline. This improves performance for these cases where we don't
need to store an object in the write barrier.
Increase default maximum size of normal methods

This helps in JIT'ing methods where the JIT profile changed because of
now treating + as a regular method. One example here is String#+ which
now can be inlined and benefits from larger maximum sizes.
Introduce global interrupt checking
Rename vm into state for State objects
Enable interrupt checking when setting thread step
Cheaper prologue checks for JIT'ed methods

This makes the common case of nothing happening inside the vm a lot
cheaper. It shaves a second off the following script (7.5 to 6.5 seconds
on my machine):

def fib(n)
 if n < 2
   n
 else
   fib(n - 2) + fib(n - 1)
 end
end

100000.times do
  fib(15)
end
Add specs for Process.(g|s)etrlimit on X19

It coreces String as Symbol on X19.
Fix Process.coerce_rlimit_resource for String argument on X19

* MRI accepts String as resource name on Process.(r|s)etrlimit argument.

When passed resource name.

* Don't use #to_sym. Use #is_a? or #kind_of? for check Symbol.
* Use #to_str for check String.
Use env shebangs for pre-installed gems. Closes #2167.
Check if Proc has a block before using it.

The arity check for lambda mode uses the block... the check for whether there
is a block should come first.
Use CompiledCode's name in Proc argument errors.
Use CompiledCode's name in BlockEnvironment argument errors.
Updated bundled rubygems to 1.8.25.
Updated CI specs to RubySpec ee468c6b.
Fixed multi-byte symbol spec.