Doubledash hygiene for external commands

Many Unix utilities follow the convention of doubledash (`--`) to segregate
filenames/branchnames/usernames, _etc_ from flags.  For example, if you wish
to delete a file named `-f`, you can say

```bash
rm -- -f
```

Everything to the right side of doubledash is read by `rm` as a filename.
Using doudbledash is best practice whenever calling Unix utilities
programatically.  It does lower the attack surface for malicious inputs, but
the main benefit is avoiding unintended consequences from legitimate inputs.

In cases where a flag takes an argument, _eg_ `tar -f <file>`, there is no
ambiguity about `<file>`, and doubledash or other tricks are not needed.

For reference, [here](https://gist.github.com/rolandwalker/8618997) are various examples of command forms which
accept doubledash.  This PR audits homebrew-cask for all of those listed,
though some of them may not have been present.

Other commands exist which do not support doubledash, for which a separate
PR will follow.

This is a followup to #2595, and is relevant to #2556, though it does not itself fix that bug.