(#17887) Ensure log message is initialized when Exception raised

It's possible to run the "ensure" block without having executed either the
main or "rescue" blocks, if an Exception not derived from StandardError is
raised or when testing with Mocha expectations.

If this happens during the property.sync, this causes an immediate exit from
the main block, but the "ensure" block is still run.  The event message won't
have been initialized yet, so this then causes the logger to report:

  Puppet::Util::Log requires a message

This ensures a message is logged from the context of the resource before
letting the exception propagate up to the application.
Merge branch 'domcleal-tickets/master/17887-resource-log-msg' into stable

* domcleal-tickets/master/17887-resource-log-msg:
  (#17887) Ensure log message is initialized when Exception raised

closes #1614
Merge branch 'stable'

* stable:
  (#17887) Ensure log message is initialized when Exception raised
Revert "Revert "Merge branch 'nicklewis-fix-puppet-resource-service-test' into stable""

This reverts commit bbb1ee2418ff04dafa91534e1c3dad41c8c27bbd.
(#14615) Exclude solaris from service name acceptance test

Without this patch the ssh service acceptance tests that ensures the
service providers do not modify the system in d4ced36 are failing on
Solaris 10.  The failures are a result of the service name for ssh being
wildly different on solaris.  On solaris the name is
`svc:/network/ssh:default` which differs considerably from the Linux
convention of `ssh`.

This patch addresses the problem by excluding the acceptance test from
running on Solaris systems.
Merge branch 'stable_14615_fix_services' into stable

* stable_14615_fix_services:
  (#14615) Exclude solaris from service name acceptance test
  Revert "Revert "Merge branch 'nicklewis-fix-puppet-resource-service-test' into stable""
Merge branch 'stable'

* stable:
  (#14615) Exclude solaris from service name acceptance test
  Revert "Revert "Merge branch 'nicklewis-fix-puppet-resource-service-test' into stable""
Merge branch 'master' of https://github.com/puppetlabs/puppet