Uruguayan Guillermo Thomas Silva claims first Grand Tour stage win for his country after a dramatic sprint finish and a 20-rider crash.