windows: add additional NTSTATUS class detection macros
windows: add DDK definitions for more file information classes

Copy some more structs from the NT DDK to winapi.h, so people can
compile libuv without installing the DDK.
windows: make it possible to use NtQueryVolumeInformationFile

This commit adds bootstrap code, function signatures, struct definitions
etc. to make it possible for libuv to use NtQueryVolumeInformationFile.

Most of this comes from the NT DDK, which libuv mirrors so that people
don't need the DDK to compile it.
windows: squelch some compiler warnings

This removes some compiler warnings caused by implicit type conversion
from uint64_t to long, which would happen in the `FILETIME_TO_TIMESPEC`
macro.
windows: reimplement uv_fs_stat using NT syscalls

This improves the output of uv_fs_stat:
  * `st_ctime` now contains the change time, not the creation time.
  * `st_ino` is now filled in with an fs-specific unique number.
  * `st_dev` is set to the serial number of the containing file system.
  * `st_blocks` now gets set.
  * `st_blksize` is no longer zero, but set to a reasonable default.