(#16626) Fix handling of bonded Linux interfaces

Array#to_s doesn't produce the right format for hwaddrre to match, so
use #join instead.
(#16626) Exercise IP.get_interface_value("bond0","macaddress")

Without this patch, the behavior of the utility method
Facter::Util::IP.get_interface_value("bond0", "macaddress") has no
examples in the form of automated tests.

This patch adds test coverage for this specific code path.
(Maint) Add YARD doc for get_interface_value

Without this commit there is no clear documentation for the
Facter::Util::IP.get_interface_value class method.  This is a problem
because the method behaves unexpectedly in some situations and is not
intended for public API use.

This patch fixes the problem by clearly documenting the method and
marking it as a private API.
Merge branch 'josb-ebaysf-ticket/1.6.x/16626_ruby_19_compat_fix' into 1.6.x

* josb-ebaysf-ticket/1.6.x/16626_ruby_19_compat_fix:
  (Maint) Add YARD doc for get_interface_value
  (#16626) Exercise IP.get_interface_value("bond0","macaddress")
  (#16626) Fix handling of bonded Linux interfaces
Add quantal to default cows list.
Merge pull request #373 from haus/maint/1.6.x/add_quantal_cow

Add quantal to default cows list.
(#17925) Fix ec2_userdata: 404 Not Found Error

Without this patch applied Facter returns the following error message to
the user when no user-data is present in the instance metadata server
when Facter is running on an instance in Amazon AWS EC2.

    $ facter ec2_userdata
    Could not retrieve ec2_userdata: 404 Not Found

This patch addresses the problem by handling the exception produced from
the HTTP 404 Not Found error.  In this circumstance of no user-data
being present, the fact value is not set.

With this patch applied the behavior is as follows:

    $ userdata=$(facter ec2_userdata); echo "userdata: [${userdata}]"
    userdata: []

And the error is not silently dropped with debugging turned on:

    $ facter --debug ec2_userdata
    No user-data present at http://169.254.169.254/latest/user-data/: server responded with 404 Not Found
    value for ec2_userdata is still nil
Merge branch 'bug/1.6.x/17925_fix_ec2_userdata' into 1.6.x

* bug/1.6.x/17925_fix_ec2_userdata:
  (#17925) Fix ec2_userdata: 404 Not Found Error
(#15001) ifconfig regex will optionally match 'addr:'

Newer versions of ifconfig, as found in Fedora 17, have changed the
output format of ifconfig. This change removed the 'addr:' string which
prevents the regex from matching. This patch makes matching 'addr:'
optional.
Test data for net-tools 1.60
(#15001) Add spec examples for ipaddress fact

Without this patch we don't have an example behaviors for the ipaddress
fact.  This patch addresses the problem by adding two examples for the
facts parsing the output of ifconfig.  These examples slightly refactor
the ipaddress fact confined to Linux in order to take advantage of the
stubbed method returning the output of the ifconfig command.

Fixture data for ifconfig output is included for Ubuntu 12.04 and Fedora
17.  The notable difference with Fedora 17 is that Net Tools 1.60
removes the "addr" substring from the interface description.
Merge branch 'fix/1.6.x/15001_ifconfig_format_change' into 1.6.x

* fix/1.6.x/15001_ifconfig_format_change:
  (#15001) Add spec examples for ipaddress fact
  Test data for net-tools 1.60
  (#15001) ifconfig regex will optionally match 'addr:'
(#15708) fixes facter file mappings for pkgbuild

changes ext and var to be private/etc and private/var

previous behavior would break systems running 10.5 if this was installed
as a flat package (pkgbuild's format)
Merge pull request #378 from MosesMendoza/packaging/1.6.x/fix_apple_pkging_mapping

(#15708) fixes facter file mappings for pkgbuild
Update lib/facter/version.rb for 1.6.17-rc1
(#15306) Read /proc/self/status in binary mode

On at least a Joyent SmartMachine (illumos based Solaris) the file
/proc/self/status contains binary data. When read with File.read in Ruby
1.9, this is parsed as UTF-8 which fails with an exception. This patch
instead opens the file in binary mode to avoid the failure.
Merge branch 'bug/1.6.x/calmh-15306_read_proc_self_status_in_binary_mode' into 1.6.x

* bug/1.6.x/calmh-15306_read_proc_self_status_in_binary_mode:
  (#15306) Read /proc/self/status in binary mode
Update FACTERVERSION to 1.6.17
Merge branch 'release/1.6.x/1.6.17' into 1.6.x
Whitespace only reflow of README

This branch does not have a travis configuration file so I'm checking
the behavior of Travis when the branch is pushed to github.  I suspect
every single active branch needs a .travis.yml configuration file.