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 think "command-name" is ok here, revert?