(Maint) Remove the hiera-puppet readme

The hiera-puppet documentation was not reflective of how to actually use
the puppet backend. This information needs to be cleaned up and moved
into the real puppet or hiera documentation. It is still available in
the old hiera-puppet repo, but is going to be removed from here for now.
Merge pull request #1283 from zaphod42/maint/master/cleanup-hiera-puppet-merge

(Maint) Remove the hiera-puppet readme
Update lib/puppet/version.rb for 2.7.20
(#17488) Capture access violations for selinux context of file resources

...and deal with them gracefully without aborting the run.
A simple reproducer of the problem (abort), to be run unprivileged:

puppet apply --execute "file { '/root/chuj': ensure => absent; }"

(#17488) Don't abort while checking managedhome on nonexistent user provider

The user resource itself should fail itself and this prevents falling back to
that. Simple test case (unprivileged):

before$ puppet apply --execute 'user { "kokot": managehome => true }'
Parameter managehome failed: Validate method failed for class managehome: undefined method `manages_homedir?' for NilClass:Class
after$ puppet apply --execute 'user { "kokot": managehome => true }'
err: Could not find a suitable provider for user
notice: Finished catalog run in 0.10 seconds
(#17488) Handle SELinux errors gracefully

Without this patch applied the SELinux support in Puppet does not
gracefully handle errors when running unprivileged.  This is a problem
because `puppet --noop` is often run as a normal user.

This patch addresses the problem by catching exceptions raised for no
such file or directory and permission denied errors.  Puppet issues a
warning when these exceptions are handled.

The behavior without this patch applied is:

    [jeff@pe-centos6 ~]$ puppet apply --noop --execute "file { '/root/chuj': ensure => absent; }"
    Permission denied - /root/chuj

Which causes Puppet to prematurely abort.  With this patch applied,
Puppet finishes the catalog run and issues a warning to the user:

    [jeff@pe-centos6 ~]$ puppet apply --noop --execute "file { '/root/chuj': ensure => present; }"
    Warning: /File[/root/chuj]/seluser: Could not stat; Permission denied - /root/chuj
    Warning: /File[/root/chuj]/selrole: Could not stat; Permission denied - /root/chuj
    Warning: /File[/root/chuj]/seltype: Could not stat; Permission denied - /root/chuj
    Warning: /File[/root/chuj]/selrange: Could not stat; Permission denied - /root/chuj
    Warning: /File[/root/chuj]: Could not stat; permission denied
    /File[/root/chuj]/ensure: current_value absent, should be present (noop)
    Class[Main]: Would have triggered 'refresh' from 1 events
    Stage[main]: Would have triggered 'refresh' from 1 events
    Finished catalog run in 0.04 seconds
Merge branch 'fix/3.0.x/17488_selinux' into 3.0.x

* fix/3.0.x/17488_selinux:
  (#17488) Handle SELinux errors gracefully
  (#17488) Capture access violations for selinux context of file resources
Merge branch '3.0.x'

* 3.0.x:
  (#17488) Handle SELinux errors gracefully
  (#17488) Capture access violations for selinux context of file resources
Merge branch '2.7.x' into 3.0.x

Conflicts:
	lib/puppet/version.rb
Merge branch '3.0.x'

  * Merge-up after 2.7.20 release