Enhance option and arguments evaluation

* Use [commander.js](https://github.com/visionmedia/commander.js) to evaluate options and arguments
* Move the cli related code to cli.js