dist: 'make set-timestamps' cleanup

* Makefile (set-timestamps): Use git's tformat rather than format,
to port to strict POSIX hosts where `` output in shell scripts
cannot end in a non-newline.  Use git diff --quiet rather than git
diff --name-only, as it's simpler.  Use touch -c for safety, and
-m to avoid setting last-access time, which we don't care about.
Diagnose files that don't match repository.
* NEWS: Document this.