WinKernel: create a wrapper for MoveFileExW function and associated flag constants (PR #9849)
Fixes #9847
Fixes #9825
Add a wrapper for kernel32.dll::MoveFileExW function, along with flag constants. This then allows any module/function/class to use this wrapper instead of defining their own. Re: #9847
Update check: use winKernel.moveFileEx instead of os.renames after postponing an update. Re #9825.
Python 3.7's `os.renames` function no longer allows copies across disk drives, it raises `OSError` with ERROR_NOT_SAME_DEVICE.
The extended description of this error is "The system cannot move the file to a different disk drive".
This can cause an error when updating a portable copy of NVDA"
See https://bugs.python.org/issue28356 for information about the change to os.rename / os.renames