21 dead in west China ‘terror clashes’