Implements basic size queries to support scalable vectors in LLVM IR.
Adds simple tests for IR instructions usable with scalable vector types to ensure that they can be parsed and printed back out without dropping the scalable flag; used the size queries and getElementCount in a couple of places to get it working.
Adds a few scalable size query calls in codegen and tablegen to keep existing tests working, including the recent SVE calling convention test.
Adds checks in various backends which don't support scalable vectors to skip over them when registering legalization and DAG actions.