(#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
(maint) Fix acceptance harness and tests for windows vcloud templates

Changes the git/pre-suite environment setup step to rely on the
puppet-win32-ruby repo for a windows specific build of ruby with the
gems we require.  Currently we are copying this directly into /bin and
/lib and resetting /lib/ruby for full permissions.  This is ugly, but
Josh and I were having trouble setting PATH in a global way through
Beaker.

This patch also fixes a win2008 bug in tests/ticket_15560_managehome.rb,
which I believe we never hit before because we have only been testing
aginst win2003, clears up a problem in the
resource/scheduled_task/should_query.rb being unable to run against
multiple agents, and patches the sslv2_downgrade_agent test to absorb
exit code 28 (timeouts) from the curl test, which are probably cropping
up occasionally on slow vms.  Kylo applied a similar fix for the 2.7.x
branch fa1e8e0
Merge pull request #2029 from jpartlow/maint/stable/acceptance-fixes-for-windows-vcloud

(maint) Fix acceptance harness and tests for windows vcloud templates
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (maint) Fix acceptance harness and tests for windows vcloud templates
  (#22878) Scope call to CloseHandle