(#1415) Added case for Linux/IB to get correct IB address or fail predictably.

Originally, facter displayed a truncated infiniband MAC
address.

Now, If the interface starts with ib, use one of two methods
to get the infiniband MAC address or fails with a MAC address
of all FF otherwise.
(#1415) ifconfig should not run twice for Linux.

The prior commit had ifconfig run twice on Linux systems.

This commit fixes it so that ifconfig runs only once.
(#1415) Handles ruby hanging of File.read of /sys/class/ with cat.

The principle reporter of this bug was concerned that File.read
would hang certain versions of Ruby.

This commit changes File.read to backticked cat to fix that.
(#16005) Puppet agent generates ifconfig warnings on InfiniBand systems fix

Whenever ifconfig was called on systems with Ib interfaces, it
would echo direcly to STDERR.

This commit suppresses ifconfig STDERR messages.
(#1415) ip_spec.rb test added for linux_ifconfig_ib0

This adds a basic unit test for ip.rb.  Later commits make this
unit test more detailed.
(#1415) added two methods and spec tests

get_single_interface_output was getting messy, so the logic for
what to do when infiniband is present was split out to
get_infiniband_macaddress.

To help unit tests, ifconfig was placed into ifconfig_interface

This also expands on unit tests.
(#1415) ifconfig_interface should output its output

In my first iteration of ifconfig_interface, I declared the ifconfig
as var output but did not output var output.

I output var output in ifconfig_interface here.
(#1415) fixed the regex map

REGEX_MAP in ip.rb was limiting MAC addresses to 6 bytes.

This fix changes that to AT LEAST 5 bytes.  Infiniband is 20 bytes.
(#1415) ifconfig_interface change.

I didn't know that you didn't have to put output from a backtick into
a variable to just pass it from a method if you weren't doing more to it.

Thank you zaphod42!
(#16005) updated ipaddress6_spec.rb and macaddress_spec.rb to reflect updated ifconfig STDERR redirect

This fixes 4 cases in related specs so that they know about the change
to the way that ifconfig is called.

Also, I rebased and reformatted the commit messages.
Merge branch 'ticket/1.6.x/1415-truncated-ib-mac-addresses' into 1.6.x

* ticket/1.6.x/1415-truncated-ib-mac-addresses:
  (#16005) updated ipaddress6_spec.rb and macaddress_spec.rb to reflect updated ifconfig STDERR redirect
  (#1415) ifconfig_interface change.
  (#1415) fixed the regex map
  (#1415) ifconfig_interface should output its output
  (#1415) added two methods and spec tests
  (#1415) ip_spec.rb test added for linux_ifconfig_ib0
  (#16005) Puppet agent generates ifconfig warnings on InfiniBand systems fix
  (#1415) Handles ruby hanging of File.read of /sys/class/ with cat.
  (#1415) ifconfig should not run twice for Linux.
  (#1415) Added case for Linux/IB to get correct IB address or fail predictably.
(maint) Update debian/rules to use new --ruby flag

This updates the install.rb call in debian/rules to use the new --ruby flag and
sets the ruby binary location to /usr/bin/ruby, as is the standard on
debian/ubuntu installations. This is preferred to using env ruby as is in the
facter binary because that depends on the users' path, and might not bring in
the expected ruby.
Merge pull request #327 from haus/maint/1.6.x/update_rules_for_new_install_rb_flag

(maint) Update debian/rules to use new --ruby flag