SuperCorrect: Supervising and Correcting Language Models with Error-Driven Insights