Merge pull request #2767 from tayzlor/fix/master/PUP-2271

(PUP-2271) Allow yumrepo proxy attribute to be set to _none_
(PUP-2787) Rename Object Type to Any

This renames the top most type in the type system to Any from
the name Object. This is done because the word Object carries
connotations of "Object Oriented Programming" that simply adds confusion
about how puppet works.

This commit is basically a rename refactoring.
Merge pull request #2624 from jaredjennings/feature/master/pup-2511-digest-parser-function

(PUP-2511) Add parser function digest: uses digest_algorithm to hash, not strictly md5
(PUP-2798) Remove warnings for reserved words in 3x regular.

We are issuing too many deprecation warnings for people to keep up.
The migration paths is to use the future parser/evaluator to "future
proof" manifests.

This only changes the warnings for 3x regular. And is basically a
reversal of part of PUP-1027 where these warnings were added).
Merge pull request #2780 from hlindberg/PUP-2787_rename-Object-Any

(PUP-2787) Rename Object Type to Any
(PUP-2578) Adjust spec tests to recent changes:

- Ensure strict ordering of the result of #pkg_scripts_append
- Add test for #in_base?
- Ensure package scripts don't end up with empty flags
(PUP-2781) Generate correct dependency expressions for new modules.

Since Puppet 3.6.0, `puppet module generate` has automatically created
a `metadata.json` file for users, with a sample dependency on
`puppetlabs-stdlib` to help demonstrate the syntax for expressing
dependencies.  Unfortunately, the generated sample used an incorrect
key name (`version_range` vs `version_requirement`), which is less
useful and was introducing other problems with (e.g.) publishing to the
Forge.

This change repairs that mistake.
(maint) Remove resources_spec.rb Facter stubs

 - Facter stubs would actually cause different types to be created
   on Windows that would break tests.
 - Instead of creating stubs that affect a number of tests, carefully
   select the uid in the one test that needs to be particular about max
   UID
Merge pull request #2557 from jasperla/service

(PUP-2578) Adjustments for new OpenBSD service provider
(PUP-2738) Ensure block in user.password_is?

This ensures that a block is given by password_is? when calling
logon_user even though it doesn't need to do anything with it. We went this
route because it made more sense to require a block for this call versus
checking if a block was given in the logon_user method. If you call
logon_user without passing a block you cannot take the next step to later do
something as that user. So it would be a misleading if we allowed it without
requiring a block.
Merge pull request #2782 from ferventcoder/ticket/master/PUP-2738-fixes

(PUP-2738) Ensure block in user.password_is?
Merge pull request #2785 from Iristyle/maint/master/PUP-2454-uid-fix-Windows

(maint) Remove resources_spec.rb Facter stubs
(PUP-839) Add read_word alias to FFI::Pointer
(PUP-839) Add missing &block params to Security
(PUP-839) Remove windows/handle from Security

 - Use shared Use FFI::WIN32.CloseHandle method
 - Make explicit that open_file returns nil, where it was previously
   returning the exit code from CloseHandle
(PUP-839) FFI with_process_token to Process class

 - Refactor with_process_token, moving it into Process class and
   using FFI in the process.  Additionally return nil since there is
   nothing else to return
 - Add deprecation warning for existing with_process_token
(PUP-839) FFI Puppet::Util::Windows::Security vol

 - Remove windows-pr volume class mixin, and implement
   GetVolumeInformaitonW with FFI.  Use closure to capture supported
   value inside of a MemoryPointer release block. Fix minor bug where
   the bitwise check was not comparing against test value, but 0.
 - Requires wide_string from Puppet::Util::Windows::String and
   a constant from Windows::File
(PUP-839) FFI Util::Windows::Security / ::File

 - Remove windows-pr file class mixin for Windows::File and implement
   CreateFileW in Security.
 - Note that open_file overlaps with create_file in file.rb
 - Add FFI GetFileAttributes and SetFileAttributes to File module
 - Move all file attribute related calls out of the Security module and
   into the File module, including get_attributes, add_attributes,
   remove_attributes and set_attributes.  Add corresponding deprecation
   notices.
 - Add a top level FILE alias for Puppet::Util::Windows::File and
   use that to make calls to the APIs / constants in File.
 - File must be included prior to Security to use these constants.
(PUP-839) FFI Windows::Util::Security.set_privilege

 - Don't call LookupPrivilegeValue directly anymore, instead call
   Puppet::Util::Windows::Process.lookup_privilege_value which has
   already been FFI'd.  Use FFI structs for LUID_AND_ATTRIBUTES and
   TOKEN_PRIVILEGES
 - Ensure that set_privilege has a well-defined return value of true
   when it succeeds, or raises otherwise.
 - Remove TOKEN_QUERY privilege since AdjustTokenPrivileges is not
   filling in a buffer with existing LUID information.
(PUP-839) FFI AddAccessAllowedAceEx

 - FFI calls made to AddAccessAllowedAceEx and AddAccessDeniedAceEx and
   properly verify their return codes against FFI::WIN32_FALSE.
   Further, return nil explicitly when not raising.
 - Update call site in set_security_descriptor accordingly, using and
   freeing a FFI::MemoryPointer for the ACL.