add abstract usage() method to RunnableTool

fix #21