[dtensor][9/n] matrix ops to generate strategy (#110717)
This PR switches matrix ops to generate the sharding strategies, and
with the cost selection algorithm introduced in the previous PR we are
able to enable this and more ops to leverage strategy based sharding
prop
This also fixes a bunch of corner cases that existing propagation does
not cover, resulting in full coverage for baddbmm
Pull Request resolved: https://github.com/pytorch/pytorch/pull/110717
Approved by: https://github.com/fduwjj
ghstack dependencies: #109145