(PUP-2036) Changing owner/group/protect should sync permissions

When changing `owner`, `group`, or `inherit_parent_permissions`, it should set
the permissions up to be synced. Prior to this fix, it would take two runs for
convergence to be correct if the permissions are already deemed to be in sync
prior to actually changing the owner, group or inheritance of the security
descriptor.
Merge pull request #6 from ferventcoder/ticket/master/PUP-2036_purge_issue

(PUP-2036) Changing owner/group/protect should sync permissions
(PUP-1987) Deny ACL should inherit by default

When setting deny with inheritance there is a bug in Puppet that doesn't use
the proper Windows library call to set access denied ACEs with the ability to set
inheritance and propagation flags. The fix for Puppet will go into 3.6.0 as
part of https://tickets.puppetlabs.com/browse/PUP-2100. This provides those
same fixes as a backport so ACL module can take advantage of the functionality
prior to Puppet 3.6.0.
Merge pull request #7 from ferventcoder/ticket/master/PUP-1987_deny_acls

(PUP-1987) Deny ACL should inherit by default