22 gunmen killed in battle with Mexican soldiers