Slicing Is All You Need: Towards A Universal One-Sided Algorithm for Distributed Matrix Multiplication