Look Before You Leap: Towards Decision-Aware and Generalizable Tool-Usage for Large Language Models