This fixes the missing address space on this in the implicit move assignment operator.
The function called here is an abstraction around the lines that have been removed, and also sets the address space correctly.
This is copied from CopyConstructor, CopyAssignment and MoveConstructor, all of which use this new function, and now
MoveAssignment is has been aligned to use the same method.
I also added a new test file to check the output AST. If there's a better place for this test I will move it there.
Fixes: PR50259