Update RubySpec from rubyspec/rubyspec @ dfb927d4.

RubySpec should be updated from canonical repo and
Rubinius' copy should be merged regularly as in
https://github.com/rubyspec/rubyspec/pull/295.

Keep the .gitignore since it correclty ignores
the automatically generated CAPI version file
spec/ruby/optional/capi/ext/rubyspec_version.h.
Update to latest mspec.
[Truffle] Tag new failing specs.
[Truffle] Implement String#sub following String#gsub.
[Truffle] Implement String#rstrip.

* For RubySpec's evaluate.
[Truffle] Implement String#each_line.
[Truffle] Implement Array#join() and add $,.
[Truffle] Fix String#{sub,gsub}(String) to escape it.

* We could also try to have a smarter string replace directly wihtout Regexp.
[Truffle] Fix String#[](int).
[Truffle] Restore method specs.
[Truffle] Fix String#[rng] and Array#[rng].

* Remove getInclusiveEnd since unused and dangerous.
* getExclusiveEnd should only ever be used on RangeNodes,
  other uses need to normalize index first before considering
  exclusion status.
[Truffle] Restore lambda specs.
Implement negation of Complex and Rational nodes.
[Truffle] Restore numbers specs.
Tag new failing mutiple assignment and keyword arguments specs.
Tag new failing static scope specs.
Tag new failing DATA specs.
Implement imaginary floats and imaginary rational floats.
Move getFloatToken near getInteger.
Let RubyLexer.getInteger() return the right token for imaginary numbers.

* Tokens.tINTEGER must still have the Node return type for FixnumNode vs BignumNode.