(#12077) Add pciutils RPM dependency

This patch adds pciutils as a dependency to the redhat spec file facter/conf/redhat.  Facter uses both lspci and dmidecode to determine the virtual/is_virtual facts/detection of hypervisors, so it should also depend on the pciutils package.  Also reference RHBZ# 783749 for addition of the same to fedora, originally noted by Dominic Cleal.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Merge pull request #155 from MosesMendoza/ticket/1.6rc/12077_add_pciutils_rpm_dependency

(#12077) Add pciutils RPM dependency
Updated CHANGELOG for 1.6.5 release.
Updating conf/redhat/facter.spec for 1.6.5 release.
Changes apple rake task to reflect package name facter instead of puppet.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Merge pull request #158 from MosesMendoza/fix_apple_rake_task

Fix apple rake task
Merge branch '1.6.x' into 1.6rc
Updated CHANGELOG and lib/facter.rb for 1.6.6rc1
Make ec2 facts work on CentOS again (#12666)

Refactoring the ec2 facts lost the support for CentOS where the
hardware address in arp -an is uppercased.  Fix and add a unit
test now that there are those
Merge pull request #172 from katzj/downcase-arp-again-1.6.x

Downcase arp again 1.6.x (#12666)
Merge branch 'downcase-arp-again-1.6.x' into 1.6rc

* downcase-arp-again-1.6.x:
  Make ec2 facts work on CentOS again (#12666)
Updated CHANGELOG for 1.6.6rc2
Removed exclusive threading

I've experienced regular facter freezes on puppet apply.
Tracing back the freezes showed that they were produced by exclusive threads.
After I've removed the exclusive thread wrapper the facter stopped freezing.

(FYI those were introduced by https://github.com/puppetlabs/facter/commit/c2aa5086ab55da9c708d962b84a1b85404fc6329)

Note: there is a similar code in facter/processor.rb for Windows. I've left
that intact as I don't quite understand the ways Windows works.
(#12669) Preserve timestamps when installing files

Without the preserve option, ruby's FileUtils.install method uses the
current time for all installed files.  For backup systems, package
installs, and general pedantic sysadmins, preserving timestamps makes a
small improvement in the world.
Merge branch 'preserve-timestamps' into 1.6.x

* preserve-timestamps:
  (#12669) Preserve timestamps when installing files
Update CHANGELOG for 1.6.6
(#11511) Split lsb facts into multiple files

If a fact is stored in a file that does not follow the convention
$factname.rb we may encounter ordering and recursion issues as seen in
bugreport #11511. The concrete example was

- flush clears all facts
- load_all is triggered to reload facts
- inside an .rb file we query the operatingsystem fact directly
  (say outside a Facter.add block)
- the operatingsystem fact has a suitable resolver for linux which
  wants to query the lsbdistid fact, which is (apperently) not yet
  loaded (this might not even be predictable)
- the loader doesnt find a lsbdistid.rb file so it triggers load_all
  (remember: we are still trying to get a value for operatingsystem)
- the load_all does load other files (like processor.rb) that want to
  query the architecture fact directly (outside a Facter.add block)
- the architecture fact is dependent on the operatingsystem fact, we are
  currently trying to resolve -> boom: recursion

This commit implements one possible fix: Split the lsb facts into
differnet files so the loader finds them. We therefore dont have to run
load_all in the middle of a fact resolution.
Merge branch '1.6rc' into 1.6.x
(#12813) Redirect lspci output to /dev/null

On linode instances, or any instance without a working /proc/bus/pci,
the following output is produced on stderr:

    pcilib: Cannot open /proc/bus/pci
    lspci: Cannot find any working access method.

This is very noisy over time, and does not produce anything of value.
Redirecting it to /dev/null removes the issue.
Merge branch 'ticket/1.6.x/12813-redirect_lspci_stderr' into 1.6.x

* ticket/1.6.x/12813-redirect_lspci_stderr:
  (#12813) Redirect lspci output to /dev/null