[Morello] Prototype passing all memory arguments through C9
This prototypes https://github.com/ARM-software/abi-aa/issues/158 This currently doesn't support a large number of arguments, where padding still needs to be added. Some notable changes: - The va_list is made read-only in the callee to enable writes to the memory pointed by C9. - C9 is set to NULL in the caller if the callee is variadic and we don't have any arguments passed through memory. This behavior can be enabled in clang by passing -Xclang -morello-bounded-memargs.