[JIT] Add checks for outputs aliasing unexpectedly, implement logging and flesh out test suite (#79904)
- Modified SchemaCheckMode to precompute a set of aliasing inputs for each output in order to verify if outputs are supposed to be aliasing.
- Added "mutated" and "aliasing" instance variables to hold information about which arguments/outputs alias and/or mutate for each op
- Added tests for multiple outputs, outputs aliasing with each other when expected, SchemaCheckMode raising an error when outputs alias when not expected, and tests to verify mutated and aliasing.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/79904
Approved by: https://github.com/davidberard98