Emit AS casts rather than round trips via int for pointer casts.
Fix a null pointer dereference when passing vector types as variadic arguments.
Extend the pointer_interpretation test slightly to  ensure that it works for variables declared in a different scope to their types.
Allow pointer_interpretation to work in the sandbox ABI.

This reworks some of how the capability types are handled in the sandbox ABI, to ensure that the types are always in AS 200 for capabilities in the clang AST as well as in the LLVM IR and removes some ugly hacks.