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()
        }
I had another look and, my bad, they are just "remaining command line arguments", so not positional, as stated by the documentation for PassDoubleDash, IgnoreUnknown and PassAfterNonOption. I will edit my comments according to this. And I think "CommanderNoRemainingArgs" would then fit the usage.