Castres pulled off a shock victory over big-hitters Montpellier in Paris to claim the 2017/18 Top 14 title.