When throwing an assertion due to unaligned capabilities in memory
copying, print out the bad address or length.
Fix matching bugs in copyincap() and copyoutcap().
Rather than copy the CHERI trapframe to the stack before writing it
out to user memory during signal delivery, copy it out directly --
this avoids an alignment issue as-yet unattributed to OS or gcc
code involving inadequate stack alignment for struct cheri_frame.
As the uaer and kernel CP2 frames are now identical, this is fine.

Use copyoutcap() instead of copyout() to maintain tag bits on
preserved user register state in the signal frame.
In sigreturn(), copy back in user capability register frame after
signal handling.