zdiff: avoid non-conformant features
setvar is a non-conformant feature that looks slightly neater but is
not portable to other /bin/sh implementations. Making the script
portable is straightforward, so let's do it.
Tests are added to make sure that I didn't break anything major in the
process.
Reviewed by: bapt (previous version), jilles
Sponsored by: Klara, Inc.
(cherry picked from commit 5b7adeb1845c7491a655d2b2e1ab55d7b7b96a34)