(#22857) officially support ruby 2.0

To corespond with puppet >= 3.2 Ruby 2.0 support:
    http://docs.puppetlabs.com/puppet/3/reference/release_notes.html#ruby-20-support
(#9546) Do not execute com, cmd, exe, or bat files if not on windows

Facter currently only executes com, exe, and bat files if on a windows
system.  It should also exclude these on unix flavored systems since
the interpreter for these "cmd.exe" will not be present.

This also supports the use of pluginsync for external facts where in a
hybrid environment external facts for windows may end up getting syncd
to a unix system.
(#9546) Merge branch 'ignore_extensions' into stable
Merge branch 'stable'
Merge branch 'ruby-2_0-support' of https://github.com/jhoblitt/facter into jhoblitt-ruby-2_0
(#22857) Note that ruby 2.0.0 should be at least p195.
(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
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (Maint) Pin windows gems to match what we ship