RuAG: Learned-rule-augmented Generation for Large Language Models