Cristiano Ronaldo fires Portugal past Wales and into Euro 2016 final