Import mingw-w64 cmake toolchain settings
Fatal errors for setenv/lstat only for UNIX
Define uid_t for windows
Mingw: Use POSIX compatible stdio

- There are some differences between stdio (*printf) functions in POSIX
  and the MS runtime, this commit enables Mingw compatibility for these
  functions
Merge os_unix_defs.h into os/unix_defs.h
Hide away os_unix.c/ into os/deprecated

- In preparation to add support for multiple systems os_unix.c now lives
  in nvim/os/deprecated/
- nvim/os_unix.h still exists but only to keep things working
- Later the following should take place
  + nvim/os/deprecated/os_unix.c should be split among os/*.c files
  + nvim/os_unix.h should be removed
  + No file should include nvim/os_unix.h
Add includes to win_defs.h

- Add includes for stdio.h, winsock2.h
  and time.h
Add path length defines to win_defs.h
Add Vim defines to win_defs.h
Remove non-UNIX branch from fileio.c
FIXME: Remove cscope until we fix it for windows

Conflicts:
	src/nvim/eval.c
	src/nvim/if_cscope.c
	src/nvim/if_cscope.h
FIXME: rebase platform checks and remove this
Add max memory to win_defs.h
FIXME: libintl needs iconv in MINGW?
Rename variable eof to input_eof
Add guards for SIGPIPE and SIGQUIT
Add dummy module for unsupported systems
Link against windows libraries
Use putenv for os_setenv

- In systems where setenv is not available, os_setenv() can use
  putenv
Change guard for garray to allow WIN32