[Truffle] Fix conversions to boolean.

* The Ruby rules are fairly simple so jsut use a simple method.
  A node could potentially avoid the explicit instanceof check though.
* Remove extra #! methods on true and false as well as unused yieldBoolean().
[Truffle] Hash keys should be compared with #eql?.
[Truffle] Expect moduleFunctionObject to be unset or a boolean.
Revert "[Truffle] Expect moduleFunctionObject to be unset or a boolean."

This reverts commit b2fbe9e22296d856d145d84a37167fac625700b8.
[Truffle] Fix String#==.

* A String never == a Symbol.
* But actual behavior is slightly more complex than that (to_str).
[Truffle] Regexp#=~ should not try the reverse operation.
[Truffle] Fix Kernel#=~ and Kernel#!~.

* Remove extra {TrueClass,FalseClass}#{==,=~} which do not exist in Ruby.
[Truffle] Fix ReferenceEqualNode.
[Truffle] Simplify Kernel#eql?.

* We can just inherit instead of having it as a clone with a single child node.
[Truffle] Implement Module#const_get.
[Truffle] Implement Symbol#<=>.
[Truffle] Fix Kernel#puts().
[Truffle] #send should be implemented on Kernel.
[Truffle] Remove a bunch of superfluous methods.

* They are already implemented by ancestors and do not exist in MRI.
[Truffle] Use BigInteger.equals(o) over BigInteger.compareTo(o) == 0.

* Fix a couple types along the way.
Remove roque printStackTrace.
Update to invokebinder 1.4.
Switch travis to spec:ruby:fast.

Unfortunately the many specs that re-spawn JRuby are now causing
the build to time out. We have work to do on speeding up boot time
for 9k, but right now we need to get green spec runs on travis.

We can also set up longer test runs on our Jenkins instance. That
may be more appropriate for the long-running suites.
Handle ELOOP in File.open call chain.
Le sigh...remove rogue printStackTrace.