When building cheritest-helper's assembly, use clang/llvm's built-in
assembler, providing access to CHERI headers.
Configure a sandbox's $c0 and $pcc as non-ephemeral.
When an unsandboxed class is invoked, install the stack capability ($c11)
from $c0, and clear it before returning to the sandbox.
In the object-capability invocation function, cheri_invoke(), use $c11 for
all stack access, rather than $c0.  This is required so that capability
registers containing ephemeral capabilities can be saved without faulting
once $c0 doesn't permit storing ephemeral capabilities.

Add comments bracketing the region where $c11/$sp are no longer usable as
they have been saved but not yet restored.
In cheritest's sandbox enter() routine, set up $c11 as ephemeral to prevent
storage of stack pointers to the heap, and $c0 as unable to store ephemeral
values.  This is only done in a 'discretionary' way as it's done by a
sandbox when invoked, rather than by the invocation mechanism, but it's a
first step towards ensuring that all code we write/generate is safe given
those constraints.

NB: Due to a bug in the CHERI LLVM assembler, use numeric values rather
than preprocessor constants for now.  A bug report will be filed shortly.