The last stage of Spain's Vuelta cycling race was called off just moments before it was due to end as pro-Palestine protesters flooded the roads of Madrid.