(#23366) Ensure we require ffi before using it

We use ffi on windows in 4 files, but only required it in 3, which could
prevent puppet on windows from running with the error:

    uninitialized constant Puppet::Util::Windows::Security::API::FFI (NameError)

This commit ensure we require ffi before using it.
Merge remote-tracking branch 'joshcooper/ticket/stable/23366-require-ffi' into stable

* joshcooper/ticket/stable/23366-require-ffi:
  (#23366) Ensure we require ffi before using it