Module#ancestors now includes singletons themselves

Since Ruby 2.1, calling #ancestors on a singleton class should now
include the class itself in the chain.

Since BasicObject is at the very base of the ancestors, we also need to
change the meta class of Object so that BasicObject's singleton class
correctly get included in the chain.
Add PowerPC64 little endian support in FFI

Adds support for the ppc64le architecture in JRuby FFI.
remove useless initial load path entries of the ScriptingContainer
remove obsolete yecht dependency from jruby.jar
[Truffle] Improve uncached dispatch.
[Truffle] Remove some abstractions that don't seem to compile well, and fix some other compilation problems.
OptimizeDynScopesPass has a dependency on CFG building
Revert "[Truffle] Remove now useless (and incorrect!) AddNode specialization."

This reverts commit 27712b71b4dd926ccce96e81746a84e559611057.
[Truffle] Fix Fixnum#+(int,long) specializations.
Revert "[Truffle] Introduce ImplicitCast from int to long."

This reverts commit 032326dbe04ae91ac79bf3b9ef2340e8df74b67e.
[Truffle] main.inspect.should == "main"
[Truffle] Fix a couple specializations which cannot overflow.

* Also rename specializations which deal with the overflow just [op]negWithOverflow
  so we have a compile-time check for this potential issue.
[Truffle] Fix BasicObject#equal? for int,long combinations.
[Truffle] Fix order of specializations for RangeLiteralNode.
[Truffle] Implement Regexp#source.

* RubyRegexp.source should obviously be a String.
[Truffle] Implement Fixnum#<<(int) correctly.

* Mostly, there was no case to return an int.
[Truffle] FixnumLowerNode should throw a TypeError if it fails.

* Add an helper method for typeErrorCantConvertInto.
[Truffle] Tool for dumping dispatch chains with just the relevant information.
[Truffle] Force split #respond_to? and #send.
[Truffle] Fix missing specialization for Fixnum#<< as we don't have ImplicitCast.