Cal Crutchlow rode a brilliant race in the wet at the Sachsenring to record his first podium since the Argentina GP in 2015.