M-Blocks: Momentum-driven, Magnetic Modular Robots