Fix to keep stride in return_and_correct_aliasing() (#117860)
Fixes #117794
Fix tripped the assert here: https://github.com/pytorch/pytorch/blob/86dedebeafdd7b08d21432cebd7538437d3b7509/torch/utils/_python_dispatch.py#L216
From investigation: I found that functionalization of an in-place op (`mul_` in this test case) results in the strides of `TwoTensor`'s `a` / `b` components being mutated to be contiguous. This is not reflected in the outer tensor, causing the assert to be tripped.
After discussion with Brian, I address this in this PR by disallowing input mutations on non-contiguous tensor subclass inputs for now.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/117860
Approved by: https://github.com/bdhirsh