(maint) cleaning up spaces in init.pp
Define ACL type

This defines out ACL type a little more. Items that will ultimately be
properties have #newproperty above them.

Move ACE to a data type - not a visible one for using directly with the
puppet type system, but one that is accessible for validating aces when
defined in the ACL type
Ensuring hiera works with ACL types