zsh_completion: declare appropriate local parameters for ->string form

Authored by av6.

Description

zsh_completion: declare appropriate local parameters for ->string form

When ->string form is used for _arguments, the function that calls it must
declare appropriate local parameters.

Managing local return value is needed to tell the completion system if our
function succeeded in suggesting something or not, plus without that `hg diff
-<TAB>` doesn't look right.

While at it, fix a copypaste error (s/diff_files/revert_files/).

Docs: http://zsh.sourceforge.net/Doc/Release/Completion-System.html

Differential Revision: https://phab.mercurial-scm.org/D4264