Wrapping `which` in try/catch. It throws an error if the cmd can't found, which is not helpful here.
Convert file extension to lowercase before doing comparisons.
Make sure `args` is not holding a callback.
Test the basic command types first. The system / Node will throw if the commands/files can't be executed
Fix Windows issues: execute native commands, execute *.js files.
Add *.cmd test (npm.cmd on Windows)
0.1.0