Toss current container spec config op.

Not used in NQP itself, and we'll be changing how container stuff is
handled.
Start replacing container spec approach.

This is the minimum needed to get NQP to build and pass its tests again
with the data structure updates. Still needs some more infrastructure
before we can start updating Rakudo to use this new approach.
Don't decontainerize type objects.
Add container spec registry and code_pair spec.

The registry keeps track of different containerization strategies we
have. Implemented one that relies on a pair of code objects (a fetch
and a store), which provides one aspect of the previous functionality.
Deserialization for new container support.
Add new nqp::setcontspec and an nqp::assign op.
Some tests for the new container stuff.
Fix a replace-o.
Add nqp::assignunchecked(...).

Used for the case when the compiler (probably the optimizer) already
concluded that the assignment is safe.
Test nqp::assignunchecked op.
Provide a way for libs to register containers.

This means that Rakudo will be able to set up its scalar handling.
Merge branch 'master' into cont

cont was last worked on before the JVM work was brought into the repo,
so this is a fairly sizable merge, but with relatively few conflicts.
Implement some missing capture-related ops.
Don't wire callsite to compiler thunks.
Remove leftover debugging code.
Add missing find method logic (MOP fallback).
Update stage0 to latest.

The latest has various performance improvements and thus this should
make the build a bit faster.
Stub remaining container ops.

Still need to do a bunch of the implementation work.
Be consistent about highexpect list type.

Caught because NQP JVM is stricter, but the fix saves some boxing.
Don't rebless to the same type.