sys.stat: wrap stat and lstat properly.

* specs/posix_spec.yaml (lstat, stat): Move from here...
* specs/posix_compat_spec.yaml (lstat, stat): ...to here.
* specs/posix_sys_stat_spec.yaml: New file. Specify correct thin
binding for stat(2) and lstat(2).
* specs/specs.mk (specl_SPECS): Add posix_sys_stat_spec.yaml.
* ext/posix/sys/stat.c (pushstat): New function. Push a struct
stat-like table on top of the stack.
(S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISREG)
(S_ISSOCK): New APIs.
(S_IFMT, S_IFBLK, S_IFCHR, S_IFDIR, S_IFIFO, S_IFLNK, S_IFREG)
(S_IRWXU, S_IRUSR, S_IWUSR, S_IXUSR, S_IRWXG, S_IRGRP, S_IWGRP)
(S_IXGRP, S_IRWXO, S_IROTH, S_IWOTH, S_IXOTH, S_ISGID, S_ISUID):
New constants.
(Plstat, Pstat): Simplify accordingly.
(filetype, Fstat, Sstat): Remove.
* specs/spec_helper.lua (rmtmp): Update to use low-level stat
call.
* lib/posix/compat.lua (lstat, stat): Reimplement wierd multi-
return value, table or tuple input APIs over new lean bindings.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>