[einsum] Fix opt_einsum defaults to be more reasonable (#86985)
Fixes the confusing situation mentioned here https://github.com/pytorch/pytorch/issues/85224#issuecomment-1278628262 by
- setting better OG defaults
- changing warnings to errors now that we have better defaults
Test plan:
- Ran einsum tests locally + CI
- Uninstalled opt-einsum and ran through setting
- `enabled` to False (doesn't throw error)
- `strategy` to anything that's not None (errors)
- `strategy` to None (noops)
- Installed opt-einsum and ran through setting
- `enabled` to False (doesn't throw error)
- `enabled` to True (doesn't throw error, no ops + defaults to 'auto')
- `strategy` to random string (errors)
- `strategy` to None (noops, still is 'auto')
- `strategy` to 'greedy' (is set to 'greedy')
Pull Request resolved: https://github.com/pytorch/pytorch/pull/86985
Approved by: https://github.com/soulitzer