Cavendish on fire after first Tour de France stage win in five years