bugfix: the coercion fn will not be called of optional  value, when not providing values

Demo: file `app.js`
```js
var program = require('commander');

program.option('-p, --port [port]', 'server on port [port]', function (val) {
        console.log('fixed');
});
program.parse(process.argv);
```

when execute `./app.js -p`, the `fn` was not called.

I think in above case,the coercion function should alse be called.

thx.