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).
Move typ outside of the if-block
Use (*Arg).isRemaining() to check whether arg is positional remaining
Factor out completeArg

This factors a new function, completeArg which completes
a positional argument correctly depending on whether it
is a positional argument for remaining args.
Merge branch 'complete-positional-rest-args'