tests: NetBSD pr#47068
unifdef: correct exit status when lines are modified but not deleted
unifdef: do not needlessly modify files when updating in place

If unifdef made no changes, leave the original input file
in place and delete the temporary working copy.

Inspired by http://trac.webkit.org/changeset/156877
unifdef: cleaner exit status handling
win32: correct variable name in snprintf()