Support completion of positional "rest" (slice/array) args

Given a command with a positional "rest" arg (`Filename []Filename`
here):

```
	AddMultiCommand struct {
		Positional struct {
			Filename []Filename
		} `positional-args:"yes"`
	} `command:"add-multi"`
```

This PR implements completion for the rest arg using the element
type of the "rest" arg value (here, `Filename`).

Adds the test AddMultiCommand to TestCompletion to test the new
behavior.

Adds a sentence describing this new behavior in the flags.go package
documentation (previously, the docs did not clearly define whether
this behavior was present).