add CommanderNoArgs interface

Allows more convenient validation against unwanted extra args.

Before:

        func (c *myStruct) Execute(args []string) error {
            if len(args) > 0 {
                return errors.New("got unwanted extra args")
            }
        }

After:

        func (c *myStruct) Execute() error {
            // extra args are checked automatically before calling Execute()
        }
Please do the positive case first:
```go
if len(s.retargs) == 0 {
   reterr = p.printError(cmd.Execute())
} else {
...handle the error...
}
```