Iraqi forces fire tear gas and rubber bullets, killing at least 21 as rallies erupt in Baghdad and southern cities.