CHEF-5087: Add a Windows Installer package provider

Adds the framework for a windows package provider, which must determine the
correct provider by examining metadata about the source file, or the source
file itself.

Provides FFI based access to the Windows Installer functions to retrieve
metadata from the MSI files and from the Windows product database.

Combines both of these into an MSI package provider.

Continues to work alongside the windows_package LWRP.
CHEF-5087: Hide win32 if not on windows
Merge pull request #1328 from btm/CHEF-5087

CHEF-5087: Add Windows Installer package provider