[shard] make ShardedTensor a torch.Tensor subclass
This is the reland of PR https://github.com/pytorch/pytorch/pull/74695, which was reverted due to some internal failures.
It also removes the ShardedTensorInterface change, we will delay that
change later if we found there's a need to do that.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/78027
Approved by: https://github.com/pritamdamania87, https://github.com/fduwjj