The finale of Spain's version of the Tour de France has been cancelled midway through after clashes between police and pro-Palestinian protesters in Madrid.