(FACT-710) Prefer 64-bit powershell

Previously, facter would execute 'powershell.exe' for external powershell
based facts. However, when running in 32-bit ruby, this executes 32-bit
powershell, which behaves very differently than 64-bit powershell due to
them having different PSModulePaths. As a result, there are many times where
a user could execute the powershell script from the command line, but the
same script would fail when executed by facter.

This commit changes the powershell parser to prefer the 64-bit powershell
using the sysnative alias. If that doesn't exist, we fall back to the system32
directory (in case powershell is not in the PATH), and finally fall back to
an unqualified 'powershell.exe'. This follows the convention adopted in the
powershell module[1]

[1] https://github.com/puppetlabs/puppetlabs-powershell/blob/1.0.3/lib/puppet/provider/exec/powershell.rb#L6-L13
Merge pull request #800 from joshcooper/ticket/stable/FACT-710-64-bit-powershell

(FACT-710) Prefer 64-bit powershell
(FACT-699) Create system32 fact to resolve native system32 directory

Adds a `system32` fact which resolves the "real" system32 directory for both
32 and 64-bit ruby versions. This way you can write a manifest that simply
does:

    exec { "$::system32\\cmd.exe ...": }

and it will always execute 64-bit cmd.exe on 64-bit operating systems,
regardless of the ruby architecture facter happens to be running on.

Note the fact is implemented by stat'ing the filesystem, because there is no
CSIDL constant that resolves to sysnative. For example, Dir::SYSTEM resolves to
'C:\Windows\system32' and Dir::SYSTEMX86 resolves to 'C:\Windows\SysWOW64',
but there isn't a Dir::SYSNATIVE.
(FACT-699) Add `rubyplatform` fact

Adds a rubyplatform fact so that manifest authors that need to customize
behavior for 32 vs 64-bit ruby can do so, e.g.

    if $rubyplatform =~ /x64/
      # 64-bit
    else
      # 32-bit
    end

On Windows, common `rubyplatform` values are:

    i386-mingw32
    x64-mingw32

On Linux:

    x86_64-linux
Merge pull request #801 from joshcooper/ticket/stable/FACT-699-system32

(FACT-699) Add `rubyplatform` and `system32` facts
Merge branch 'stable'

* stable:
  (FACT-699) Add `rubyplatform` fact
  (FACT-699) Create system32 fact to resolve native system32 directory
  (FACT-710) Prefer 64-bit powershell