Buffer of Thoughts: Thought-Augmented Reasoning with Large Language Models