(PUP-838) Move FFI code to bottom of process.rb
(PUP-838) FFI Puppet::Util::Windows::Process module

- Remove  dependency on windows/process, windows/handle, and
   windows/synchronize, all part of windows-pr (which is not a gem that is
   currently FFI-ed, even in the latest release)
- Add WAIT_TIMEOUT from Windows::Synchronize
- FFI WaitForSingleObject
- FFI GetExitCodeProcess
(PUP-838) GetExitCodeProcess checks FFI::WIN32_FALSE

 - This adds a fixup after reworking changes related to getting the proper
   boolean on windows.
(PUP-838) Process uses LookupPrivilegeValueW

 - Switch from LookupPrivilegeValueA to LookupPrivilegeValueW
 - In reality, this doesn't absolutely need to be done, but for the sake
   of consistency with other API calls, we use W suffixed functions
 - Add 2 tests that confirm that our usage of the Win32 API call is
   correct
(PUP-838) Use FFI helpers read_handle / read_dword
Merge branch 'ticket/master/PUP-838-FFI_Windows_Process'

* ticket/master/PUP-838-FFI_Windows_Process:
  (PUP-838) Use FFI helpers read_handle / read_dword
  (PUP-838) Process uses LookupPrivilegeValueW
  (PUP-838) GetExitCodeProcess checks FFI::WIN32_FALSE
  (PUP-838) FFI Puppet::Util::Windows::Process module
  (PUP-838) Move FFI code to bottom of process.rb