Support multiple --extra-vars flags

Allows passing flags to `ansible-playbook` like `--extra-flags "foo=bar" --extra-flags "baz=qux"`. Extremely useful when wrapping `ansible-playbook` in a shell script with contents like:

    ansible-playbook -i "$1.inv" --extra-vars "ec2_stack_name=$2" "${@:2}"

Note that the above does magic things with the first two parameters, then passes the rest verbatim along to `ansible-playbook`. Without this patch, the first `--extra-vars` flag would get overwritten by a later one.

Rebased version of #3757.