(maint) Use RSpec 2.9 expectations

We have RSpec 2.11 listed in the project Gemfile but CI is still using
2.9. This commit switches the expectation syntax to the older version
for compatibility.
Merge branch 'maint-rspec_29_compat' into 1.7.x
(#19764) Fix ipaddress issue scanning beyond the first address

Without this patch the refactoring of the ipaddress fact in 0e514b8
changed the determination behavior unintentionally.  This is a problem
because the behavior change caused the setcode block to scan only one
address in the output of ifconfig.  If the first address is a loopback
(127) address, then no additional addresses will be checked.

This patch addresses the problem by restoring the behavior of splitting
the output of `ifconfig` into lines, then scanning each line.  If an
address is matched that begins with 127, then scanning continues.
Otherwise the matched address is determined to be the ipaddress.

The fixture has been extracted from the description of the issue
published in the comment at http://git.io/MbXKEg
(#20301) Handle different error in ruby 1.9

The NumberOfLogicalProcessor property of the Win32_Processor WMI class
does not exist in the base win2003 install. Previously, we were trying
to access the property, and then catching the resulting error if the
property did not exist.

In ruby 1.8, it would raise a RuntimeError, but in ruby 1.9, it raises a
StandardError, causing the fact to blow up on ruby 1.9.

This commit checks to see if the process object responds to that method,
and only then does it try to call it.
Merge pull request #433 from joshcooper/ticket/20301/win2003-ruby19

(#20301) Handle different error in ruby 1.9
Merge pull request #431 from jeffmccune/fix_ipaddress_scanning

(#19764) Fix ipaddress issue scanning beyond the first address
(maint) Move facter.gemspec to .gemspec

So that people don't get confused.
(maint) Make facter gemspec report correct version

Without this patch the Gem system thinks that the version of Facter
running from a development branch is `1.6.11` even though many versions
have been released since then.  This is a problem because a project that
requires Facter >= 1.7.0 should be able to satisfy this dependency using
the `stable` development branch, however it cannot because the version
information is out of date.

This patch addresses the problem by using Facter's public version API to
determine the version of Facter contained in the git branch.

This patch also attempts to make it clear to the reader that the gemspec
is intended for use with the VCS branches under active development and
_not_ as the way to produce a gem release package.
Merge branch 'hide_gemspec' into stable

* hide_gemspec:
  (maint) Make facter gemspec report correct version
  (maint) Move facter.gemspec to .gemspec
(#20321) Be more descriptive in deprecation message

Facter::Util::Resoultion.exec can be used to run arbitrary commands. On
windows it is currently allowed to pass a shell builtin but we raise a
deprecation warning.

But the deprecation warning did not include the actual commandline it is
complaining about so if you have custom facts that make use of this
feature you may ask yourself why you see the message.

Add the actual command to the deprecation message so it easier to
resolve the issue.
Merge branch 'pull-435' into stable
(#20301) Handle different error in ruby 1.9

The NumberOfLogicalProcessor property of the Win32_Processor WMI class
does not exist in the base win2003 install. Previously, we were trying
to access the property, and then catching the resulting error if the
property did not exist.

In ruby 1.8, it would raise a RuntimeError, but in ruby 1.9, it raises a
StandardError, causing the fact to blow up on ruby 1.9.

This commit checks to see if the process object responds to that method,
and only then does it try to call it.
Merge branch 'pull-433' into stable
(#20301) Handle different error in ruby 1.9

The NumberOfLogicalProcessor property of the Win32_Processor WMI class
does not exist in the base win2003 install. Previously, we were trying
to access the property, and then catching the resulting error if the
property did not exist.

In ruby 1.8, it would raise a RuntimeError, but in ruby 1.9, it raises a
StandardError, causing the fact to blow up on ruby 1.9.

This commit checks to see if the process object responds to that method,
and only then does it try to call it.
(packaging) Update FACTERVERSION to 1.7.1-rc1
Merge branch 'release_1.7.1_rc' into stable
(packaging) Update FACTERVERSION to 1.7.1
Merge branch '1.7.1_release' into stable
(maint) Use RSpec 2.9 expectations

We have RSpec 2.11 listed in the project Gemfile but CI is still using
2.9. This commit switches the expectation syntax to the older version
for compatibility.
Merge remote-tracking branch 'upstream/1.7.x' into stable

* upstream/1.7.x:
  (#20301) Handle different error in ruby 1.9
  (maint) Use RSpec 2.9 expectations