Vigilante battle kills 13 near Mexican beach resort