(MODULES-1174) Puppet 3.7 compatibility

 - Puppet 3.7 refactored underlying Win32 API code by changing gems and
   refactoring classes.  The windows-pr gem was removed which provides
   a number of methods and constants through mixins to the
   Puppet::Util::Windows::Security class.  A number of global constants
   are also defined in the namespaces ::Windows::File and
   ::Windows::Security.
 - Furthermore, some methods that used to be defined on
   Puppet::Util::Windows::Security are now in Puppet::Util::Windows::SID
 - Restructure the code to prefer Puppet 3.7 locations with a graceful
   fallback solution to 3.6.x with old gems, etc.
Actually @ferventcoder I don't think this needs to be here at all... if the only place calling `safe_string_to_sid_ptr` is in your `3.6` and under Puppet monkey patch, then I think this definition is totally unnecessary, right?