(Maint) Pin windows gems to match what we ship

The win32-dir gem has a dependency on ffi, which was recently updated to
1.9.3 but does not provide a precompiled version. As a result, the gem will
attempt to compile native extensions, which will fail on our spec boxes
(since the dev kit is purposefully not installed).

This commit pins ffi to 1.9.0, updates win32-dir and windows-pr to the
version that we ship with, and pins each gem to an exact version matching:

https://github.com/puppetlabs/puppet-win32-ruby/tree/1.9.3/ruby/lib/ruby/gems/1.9.1/gems
(#22878) Scope call to CloseHandle

Previously, the win32-process gem used to extend Windows::Handle from the
windows-pr gem, so that the Process.CloseHandle method was available.
However, newer versions of the win32-process gem that are based on ffi, do
not extend Windows::Handle, so the Process.CloseHandle method is not defined.

This commit modifies puppet to call a version of CloseHandle which we
control, and therefore is guaranteed to exist.
Merge branch 'ticket/stable/22878-close-handle' into stable

* ticket/stable/22878-close-handle:
  (#22878) Scope call to CloseHandle