Edinson Cavani's double earned Uruguay a 2-1 win over Portugal and a World Cup quarter-final against France, with a tearful Cristiano Ronaldo knocked out on the same day as his rival Lionel Messi.