[Truffle] Bignum do not have a singleton class.

* Duplicating the logic of hasNoSingleton() in SingletonClassNode is not worth it.
[Truffle] Mark those language spec failures we inherit from JRuby.
[Truffle] Work on $_
[Truffle] Use a stronger check for class identity.
Eclipse: update factory path
[Truffle] benchmark-ips sample file runs - some formatting errors.
[Truffle] Add necessary handling of Dispath.MISSING when we use RETURN_MISSING behavior.
[Truffle] Fix extra newline after #printf.
[Truffle] Remove useless RubyBignum specializations when RubyBasicObject is enough.

* And fix Kernel#String(String).
[Truffle] Remove incorrect specializations in Kernel#String.

* Fixnum#to_s should be called.
[Truffle] Remove old guard.
[Truffle] Clear $! when leaving a try-rescue-ensure block.
[Truffle] Make $_ thread local - at the same time as being frame local.

We achieve this by wrapping the value in a ThreadLocal when it's
assigned, giving it the default value nil for other threads.
[Truffle] Allow filename and line number arguments in Kernel#eval.

These parameters are currently ignored.  The semantics of eval continue to work fine in most cases with the ignored parameters, so I've committed this work in order to avoid issues in code that calls eval with the extra arguments, such as ERB.
[Truffle] Tagged a failing spec that shouldn't have been untagged.
[Truffle] Make a couple of helper nodes subclasses of RubyNode.
[Truffle] Always call block parameters 'block' so they aren't confused with final parameters that just happen to take a RubyProc.