(#13396) Unify ifconfig usage and lookup ifconfig path to fix support for recent net-tools

Without this patch applied linux systems with recent net-tools loose
support for ipaddress,macaddress and other network related facts.
This is due to a path change from /sbin/ifconfig to /bin/ifconfig.
This patch fixes this issue by unifying the lookup and execution of
ifconfig and testing where the ifconfig binary is installed.
Merge branch 'backport-gh-386' into 1.6.x
Merge branch '1.6.x' into 1.7.x
Merge branch '1.7.x' into 2.x
Merge branch '2.x'
(maint) Fix spec failure in Ruby 1.8.5 due to Array#count

Without this patch the examples fail with Ruby 1.8.5 because Array#count
is called and this method is not defined in this version of Ruby.  This
patch fixes the problem by calling Array#length instead.
Add missing require for macaddress

This fixes the error "Could not retrieve macaddress: uninitialized constant
Facter::Util::IP"
Call correct function on IP in NetMask

This fixes the error "Could not retrieve netmask: wrong number of arguments (1
for 0)"
(#18756) Fix getting interface specific data with newer net_tools

A simple regexp, and then some spec tests to verify that it works with
1.60 version, as well as 2.0 version of ifconfig output.
Update the fixtures to include a "real" ipv6 address

Also, update the 1.60 fixture to use the older format, so that this test
actually verifies both outputs of ifconfig $iface
Add ipaddress6_$iface fact checks to verify the "real" ipv6 addresses

It automatically ignores ones link-local, so I faked it :)
Merge branch 'dkowis-18756_ip_regex'

* dkowis-18756_ip_regex:
  Add ipaddress6_$iface fact checks to verify the "real" ipv6 addresses
  Update the fixtures to include a "real" ipv6 address
  (#18756) Fix getting interface specific data with newer net_tools

closes #390
Merge pull request #392 from pcarlisle/fix-nettools

Fix nettools
Merge branch '1.6.x' into 1.7.x
Merge branch '1.7.x' into 2.x
Merge branch '2.x'
Only run Facter::Memory.meminfo_number on supported platforms

Having this code outside of the setcode block means it gets evaluated and
generates a spurious warning on unsupported platforms.
Merge branch 'pcarlisle-fix-freebsd-warning_1.7.x' into 1.7.x

* pcarlisle-fix-freebsd-warning_1.7.x:
  Only run Facter::Memory.meminfo_number on supported platforms
Merge branch '1.7.x'

* 1.7.x:
  Only run Facter::Memory.meminfo_number on supported platforms

closes #393
Pull Request Automation Demo

This commit is simply a demo of how a pull request flows through the
system.  I have a body here to show stuff off.

Here's a picture of a grumpy cat.

![Grumpy Cat](http://t.qkme.me/3r15cw.jpg)