if args is falsy, assume a default collection.

This is kind of an edge case that I coincide if I try to break things hard enough
while using commander at https://github.com/v0lkan/JFDI/

From tracing the code I tend to come to a conclusion that
when the command's option is not required, and the option is not optional, and we follow the

```
program
.command(..)
.description(..)
.action(function(){
});
```

pattern, then after some event chaining, args happens to be `undefined` which breaks the flow.

Providing a default value if args do not exist, will make the function less error-prone nonetheless; and it won't cause any regression in the existing behavior.