Ignore top-level qualifiers in casts, which fixes issues in reinterpret_cast.
Allow converting between types with different address spaces.
This allows converting a __private int to a __private int, which is currently not possible.
It also allows converting a value to any other address space, which can make sense since
the actual bit representation of the values doesn't depend on the address space.
This is the solution I chose currently allows converting between any address space
because the address space of SrcExpr is erased before entering the function,
so allowing only converting when the address spaces is the same would require larger changes.
I'm not sure if this conversion should be allowed, though converting to the exact same type definitely should.
Fixes the first issue in PR49221