Remove some unneeded code.
[mips] If integer types are promotable then we must promote them for variadic calls.
If the target requires va_arg loads to be promoted, then truncate them after the load.
More va_arg fixes.

Make sure that capabilities are 32-byte aligned and that int is promoted to long.
Add cheri-clobber-asm test.
Fix a regression on a MIPS O32 test.
Allow clang to pass capability registers in clobber lists to LLVM.

Move the test to the correct place, remove the XFAIL (it should now pass) and add a few more checks.
Update permission macros to the new names for things.
Update clang to the new LLVM CHERI intrinsic names and expose the more consistently-named builtins (__builtin_memcap_{noun}_{verb} for the ones that are expected to be generic and __builtin_cheri_{noun}_{verb} for the CHERI-specific ones)
Fix the const parameters to the builtins.
Replace capabilities.h with memcap.h, better exposing implementation-agnostic capabilities.
Having decided that hardware-enforcemnt of const is a bad idea, add an __input qualifier that is a hardware-enforced const.