Add gsu_make_tempfile() and fix bug in gui module.
While mkstemp(3) is required by POSIX.1-2001, mktemp(1) is not in POSIX
and the various Unixes ship different and incompatible implementations
of this command line utility.
This commit adds the new public gsu_make_tempfile() helper to the
common part of gsu and changes the gui module to use it.
The mktemp invocation in the gui module was buggy because it ran
mktemp with a relative template (no slash). Hence the temporary file
was created in the current working directory. Of course this fails
if $CWD is not writable. The new public function gets this right.