Avoid over-sharing.

This was in theory an optimization, but in reality trips an SC write
barrier all the time and would stop us parsing grammars in two threads
at once.
Update bootstrap; switch all to use .jar.
Actually add the stage0 jars.
Get serialized object ownership model in place.

For historical reasons, some things are not handled as direct objects,
but rather as special cases in the serializer. This gets support for
that handling in place, in hope of using it to resolve some of the
remaining serialization/repossession issues.
Add missing repossession barriers.
Java interop, part 2
First working version of java interop coderef generator
CallFrame stashing space for args/csd.

Could do this always and save passing them around some, but for now
this is just for Rakudo's benefit. Saves us having to savecapture in
every frame just for the sake of nextsame et al.
add (unix only) nqp::shell for jvm

sorear++
Implement implementClass / callback mechanism
Fix handling of generic method names.

On JVM (and MoarVM, for that matter) the name associated with a code
object is stored statically, not in the actual code ref itself like on
Parrot. This is generally more efficient (saves a field in closures),
but we relied on it. This prevented declaring more than one user
defined operator in Rakudo on JVM, which busted various tests. On
Parrot, we keep the same approach as today.