Revert "Revert "Merge pull request #3090 from adrienthebo/issue/master/pup-1106-check-for-failed-deps-on-refresh""

This reverts commit 03a279c3598554c309e0567a5e00c161e422ea04.
(PUP-1019) Remove ZAML

Before this commit we were using ZAML by monkey patching the `to_yaml`
function to use ZAML.dump instead of YAML.dump. After removing `zaml.rb`
tests started failing because of the way that ZAML serialized YAML so
assertions in those tests were changed.

This commit also adds in a patch to YAML.Psych to handle the cases where
ruby objects were being encoded improperly.

This commit removes the use of ZAML in puppet as part of the Puppet 4.x
code removal efforts.
(PUP-1106) Reduce log level when unscheduling events
(maint) Use less brittle regexps for whit check
(maint) Add Equifax cert for pmt acceptance

The forge SSL certificates are being updated to use SHA-256, and that's
introduced a new certificate dependency that's not present on Windows.
Add it as part of acceptance testing. This is a stop-gap until the PMT
is fixed to come with its own certs.
Merge branch 'backport/stable/equifax-cert' into stable

* backport/stable/equifax-cert:
  (maint) Add Equifax cert for pmt acceptance
Merge branch 'stable'

* stable:
  (maint) Add Equifax cert for pmt acceptance
(PUP-1019) Fix serializing environments.

This commit fixes a regression with Puppet::Node::Environment
serialization. When a Puppet::Node::Environment object would be
serialized the entire object was serialized instead of just the
environments name.
Merge pull request #3322 from adrienthebo/issue/master/pup-1106-check-for-failed-deps-on-refresh

(PUP-1106) Don't process events for skipped resources, take 2
(maint) Correct class name in acceptance test
Merge branch 'maint/master/misnamed-class'
(PUP-3682) Disable HTTP keepalive in webrick on 1.8.7

Previously, webrick would attempt to support HTTP keepalive so that HTTP
clients could send multiple HTTP messages on the same TCP (SSL)
connection. However, we found in practice that RHEL6 with system ruby
1.8.7-p352 with openssl 1.0.1e-fips does not reliably handle keepalive.
Most commonly the webrick server fails to read the agent's report, or
sometimes fails when handling the agent's catalog request:

    Server Error: SSL_read:: internal error

This commit causes the webrick rest handler to always include the HTTP
header `Connection: close` in the HTTP response. This indicates to the
HTTP client that the webrick server does not want to keep the connection
alive, and that the client should make a new connection the next time it
connects.

This change does not affect webrick running under 1.9 or later, nor does
it affect puppet masters running under passenger or puppet-server. As
these do reliably handle HTTP keepalive, and we want the performance
benefit that persistent http connections provide.

Note 1.8.7 support will be going away in Puppet 4, so this is a
short-term fix to the 3.7.x series.
Merge pull request #3325 from joshcooper/ticket/stable/PUP-3682-disable-webrick-keepalive

(PUP-3682) Disable HTTP keepalive in webrick on 1.8.7
(maint) Clarify Puppet::Util::PsychSupport#encode_with method

Add additional documentation on the encode_with method.
Merge pull request #3301 from demophoon/remove/master/zaml

(PUP-1019) Remove ZAML
(PUP-3091) Add test coverage for heredoc support

Before this commit the spec tests for heredoc support in Puppet did not
include tests to make sure that escaping new lines used the correct
margin on the preceding lines.

This commit adds in tests to ensure that we do not regress on this in
the future.
Merge pull request #3327 from demophoon/fix/stable/pup-3091-heredoc-support

(PUP-3091) Add test coverage for heredoc support
(maint) Install CA certs during git and package runs

Previously, the step for installing CA certs was only run during "git"
acceptance runs. This step is needed for module related acceptance tests
to work on platforms that don't already trust the forge's root
certificate, notably on Windows.

This commit makes the setup step common for both git and packages. This
doesn't actually change anything for "packages" because the step is only
executed on Windows, and we don't yet test against packages on Windows.
It also makes it easier to add support for other agent platforms that
have the same issue, e.g. Solaris

This commit also fixes the misspelling in the file name.
Merge pull request #3328 from joshcooper/ticket/stable/maint-refactor-install-ca-certs

(maint) Install CA certs during git and package runs
Merge branch 'stable'

* stable:
  (maint) Install CA certs during git and package runs
  (PUP-3091) Add test coverage for heredoc support
  (PUP-3682) Disable HTTP keepalive in webrick on 1.8.7