fixed issue 1695
Fix changing encoding on shared ByteList
* Keep consistent Gem version using '.' instead of '-' as delimiter.
String#rindex should handle matchdata strings

A string extracted from a matchdata object shares the same
byte array as the string it was matched against. When doing a
rindex between a string from a matchdata and the string the matchdata
was matched against the same byte array is passed into ByteList.memcmp
which will always return 0 as ByteList.memcmp just checks for equality
of the byte arrays.

I fix this by passing bytes() instead getUnsafeBytes() into the
ByteList.memcmp method so that the byte arrays are different.

Fixes #1688
fixed issue 1517
change test case
add test case
Make behavior of Array#eql? more closely match MRI
[Truffle] make context final in RawBoxingNode
Fix typo
make the layout lazy on StructByReference to allow to use self.ptr inside the layout. possible fix for #1729

Conflicts:
	spec/ffi/managed_struct_spec.rb
[GH-1726] - File.read should raise an Errno::ENOENT when the file is an empty String.

File.read it's currently raising EncodingUtils.java:597:in `encAscget':
java.lang.ArrayIndexOutOfBoundsException: 0

But it should raise an Errno::ENOENT to keep the MRI compatibility.
Start removing old interpreter
[Truffle] Use the new version of MSpec and RubySpec.
Remove special unused versions of Callnode from old interpreter
Remove FCall arity nodes from old interpreter
More removal of old interpreter
[Truffle] - Showing a basic exception stacktrace in Ruby exceptions
Merge branch 'master' of jruby.org:jruby
[Truffle] - Showing ruby exception.