(doc) mask specific notes
(doc) updating readme

This adds sections to the usage.
(docs) add reference to mask specific
(doc) mask specific note
(maint) remove rights=>:list

:list is an undocumented right that is allowed, but it means the same thing as
:read, so it would cause resource thrashing if left in as the current
permission will never evaluate to list.
(PUP-1988) Ensure=>absent logs property changes

This implementation hooks into ResourceHarness to get the current instance and
allow syncing of properties when ensure changes. This code performs much of the
same steps as  ResourceHarness.perform_changes does, but only during destroy()
(ensure => absent). This allows the messages not only to be logged to the
console about changes to properties, but also to end up in reports.

This code will be removed by a better solution.
(PUP-1988) ensure=>absent to purge=>listed_permissions

In providing good output for `ensure=>absent`, we realized that using ensurable
was the incorrect way of providing a way to remove permissions. In doing that
we've decided to use `purge=>listed_permissions` as a better way of making the
manifest easier to understand just by looking at it and to make the code base
more maintainable.
Merge pull request #8 from ferventcoder/ticket/master/PUP-1988_ensure_absent

(PUP-1988) Remove permissions should log
(PUP-2238) Adjust file permission defaults

A file doesn't have inheritance, so it should be
`affects => 'self_only'` when the target path is a file
and not a directory.  Without this users would need
to ensure they always specifiy `affects => 'self_only'`
for every identity in the acl resource when targeting
a file and not a directory.
Merge branch 'ticket/master/PUP-2238_file_permission_defaults'