Fix $abspath on Cygwin when HAVE_DOS_PATHS is in effect.

 function.c (IS_ABSOLUTE) [__CYGWIN__]: Special definition for Cygwin.
 (abspath) [__CYGWIN__]: Reset root_len to 1 if the absolute file name
 has the Posix /foo/bar form.
 [HAVE_DOS_PATHS]: Use root_len instead of hard-coded 2.
Fix tmpfile on MS-Windows.

 w32/compat/posixfcn.c (tmpfile): New function, a replacement for
 the Windows libc version.