Extract `tempfile` module from fileio

Though this module is relatively small it has very clear boundaries.
The last argument for extracting `tempfile` was the errors which I got
when I was writing unittests for it: `cimport './src/nvim/fileio.h'`
does not work for some reason.
tempfile.c: add tests
tempfile.c: add to clint-files and fix warnings
tempfile.c: enable -Wconversion
tempfile.c: fix style issues and comments
tempfile.c: refactor vim_settempdir

- return result of setting and remove directory if the setting was not
  successful.
- don't do `STRCPY` in case of `vim_FullName` failure because
  `vim_FullName` already did it.
Create os/os_defs.h for os specific definitions