Think Thrice Before You Act: Progressive Thought Refinement in Large Language Models