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.
Mostly-complete non-indy support for JIT.
Document why we use real class for ivar table.
Fix signatures of instance/class super helpers.
Add doco for stack layout of super operations.
Document stack result after set/get ivar.
Fix up super forms in jvm6.
Use proper base for arg array building.
Fix stack layout for jvm6 set/get ivar.
Implemeng bignum in jvm6.
Fix arity, handling of sole-argument splat.
Don't push block if not given in super instructions.
Merge branch 'master' into non-indy-jit
Merge remote-tracking branch 'origin/master' into non-indy-jit
Merge remote-tracking branch 'origin/master' into non-indy-jit
Get --bytecode working again.
Update block scope handling for new ACP support in IR.
Ensure scope flags get computed before JIT.
Turn off background JIT until IR is thread-safe.