(Maint) Remove loader test dependence on ENV

Previously the test for checking that FACTER_* environment variables get
turned into facts was sensitive to the actual environment variables with
which the test ran. This caused incorrect test failures if there was
such an environment variable during the test run. This changes the
loader to be able to be given the environment hash that it should look
at and changes the tests to stop relying on the environment for testing.
(Maint) Remove unneeded mocking

There were mocks for something called 'settings', which were never used.
This removes them.
(#17612) Add Google Compute Engine support to virtual fact

Without this patch the virtual fact does not return a value that
specifically identifies Google Compute Engine.  This is a problem
because configuration decisions may depend on if the resources being
configured exist within GCE or not.

This patch addresses the problem by changing the behavior of the
`virtual` fact to return the value `gce` when running in Google Compute
Engine's cloud.

This patch uses the Google recommended and documented way to detect if
we are running on a Google Compute Engine:
https://developers.google.com/compute/docs/instances#dmi
(#17612) Follow Google docs to populate virtual => gce

Without this patch applied Facter uses lspci to determine if the system
is running in the Google Compute Engine virtual environment.  This is a
problem because Google recommends parsing the output of
/sys/firmware/dmi/entries/1-0/raw as per [Detecting if You Are Running
in Google Compute
Engine](https://developers.google.com/compute/docs/instances#dmi).
`lspci` may be unreliable over time.

This patch addresses the problem by adding a higher weight fact that
scans `/sys/firmware/dmi/entries/1-0/raw` as recommended by Google.  The
fact is confined to Linux and disables itself if
`/sys/firmware/dmi/entries/1-0/raw` does not exist in the filesystem.
Merge branch 'feature/1.7.x/17612_gce_cloud_support' into 1.7.x

* feature/1.7.x/17612_gce_cloud_support:
  (#17612) Follow Google docs to populate virtual => gce
  (#17612) Add Google Compute Engine support to virtual fact
Merge branch '1.7.x' into 2.x

* 1.7.x:
  (#17612) Follow Google docs to populate virtual => gce
  (#17612) Add Google Compute Engine support to virtual fact
Merge branch '2.x'

* 2.x:
  (#17612) Follow Google docs to populate virtual => gce
  (#17612) Add Google Compute Engine support to virtual fact
(#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
Merge branch 'maint/master/remove-test-dependence-on-env'

* maint/master/remove-test-dependence-on-env:
  (Maint) Remove unneeded mocking
  (Maint) Remove loader test dependence on ENV
(#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:'
Merge branch '1.6.x' into 1.7.x

* 1.6.x:
  (#15001) Add spec examples for ipaddress fact
  Test data for net-tools 1.60
  (#15001) ifconfig regex will optionally match 'addr:'
(#15001) Use the internal loader to load ipaddress

Without this patch the fix to the ipaddress fact fails our spec tests
because the method Facter.collection.internal_loader.load should be used
to load a fact.  This patch uses the correct method call and resolves
the spec failure.
Merge branch '1.7.x' into 2.x

* 1.7.x:
  (#15001) Use the internal loader to load ipaddress
  (#15001) Add spec examples for ipaddress fact
  Test data for net-tools 1.60
  (#15001) ifconfig regex will optionally match 'addr:'
Merge branch '2.x'

* 2.x:
  (#15001) Use the internal loader to load ipaddress
  (#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
Merge branch '1.6.x' into 1.7.x

* 1.6.x:
  (#15708) fixes facter file mappings for pkgbuild
Merge branch '1.7.x' into 2.x

* 1.7.x:
  (#15708) fixes facter file mappings for pkgbuild