(ARM-16) Manage ACLs

This provides a draft of ARM-16 - Managing
ACLs (Access Control Lists) and lays out detailed
information about how the implementation will work
for Windows.

This notes some invalid scenarios but certainly doesn't
cover all invalid scenarios. This also tries to understand
what might happen when you try to narrow a permission set
that is being inherited by an unmanaged resource (unmanaged
by Puppet that is).
(arm-16) Moving to very verbose types with an ACL::File_ACL defined type
(arm-16) alternate view of inheritance/propagation

This was suggested as an alternative to inheritance/propagation types
on the ACE to help clarify what those items were targeting and to make
it less confusing to apply inheritance and propagation.
Merge pull request #62 from ferventcoder/arm16/windows-acls

(ARM-16) Manage ACLs