Northampton held off ill-disciplined visitors Castres to win 49-41 in a thriller and reach the quarter-finals of the Champions Cup