PUP-3561 add exception catch and wrapping into known exception type

`Puppet::Util::Windows::Error` descends from [`Puppet::Error`](https://github.com/puppetlabs/puppet/blob/master/lib/puppet/error.rb#L4) which allows exception wrapping by passing the exception to wrap as the second argument; wrapping in this manner would allow the original exception and stacktrace to be retained.