Make norm and vector_norm use the same kernels. (#58214)
Summary:
Fixes a few problems with `torch.norm` (incorrect behavior for empty inputs and negative p, https://github.com/pytorch/pytorch/issues/52783, and incorrect imaginary part for complex).
Most importantly, makes linalg_norm and vector_norm use the same kernels, reducing compile time and binary size.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/58214
Reviewed By: ejguan
Differential Revision: D28422439
Pulled By: ngimel
fbshipit-source-id: afe088a866963068e8c85eb9c3b2218a21ff2d48