[mlir][spirv][cf] Check destination block argument types (#70889)
Do not match on illegal destination blocks. Also apply some minor
cleanups.
TODO: We should add region/block argument type conversions to properly
address this.
Issue: https://github.com/llvm/llvm-project/issues/70813