Fix a bug with variadic argument

I noticed that with a variadic argument, `program.args` contains additional arguments in the end.
For example: 
```js
#!/usr/bin/env node

'use strict';

var program = require('commander');

program
  .version('0.0.1');

program
  .command('stats [files...]')
  .action(function stats(files) {
    console.log(program.args);
  });

program.parse(process.argv);

```
And the output:
```shell
$ ./program.js stats test1 test2 test3 test4
[ [ 'test1', 'test2', 'test3' ],
  { commands: [],
    options: [],
    _execs: [],
    _args: [ [Object] ],
    _name: 'stats',
    parent: 
     { commands: [Object],
       options: [Object],
       _execs: [],
       _args: [],
       _name: 'bug',
       Command: [Function: Command],
       Option: [Function: Option],
       _version: '0.0.1',
       _events: [Object],
       rawArgs: [Object],
       args: [Circular] } },
  'test3' ,
  'test4' ]
```
My fix remove residues of arguments at the end of `program.args`