(maint) Refactor hpux_spec.rb to reduce test redundancy

Prior to this commit tests for IP facts had significant duplication making it difficult to maintain in the event fixtures change or version support is added or dropped.

This commit consolidates the common features of the tests, making it easier to identify where maintenance should occur as fixtures change.
21760/22005 update preflight to delete old lib dir

In order to install in the top-level site_ruby directory, we need to clean out
any installs in the old site_ruby/1.8 location. We're doing this by setting a
variable in the package:apple task. If it's set, we remove all files there as
well as files in the new location.

While I'm here:
* update erb to strip leading and trailing spaces
* validate critical variables so a script is never generated with dangerous paths
* only target top-level files/dirs in lib, since we're doing rm -RF anyway
Use Dir.glob(), don't require rubygems or rake, use Dir.chdir as a block
(Bug #22238) Remove EOL f17

We're removing support for Fedora 17, because it's gone End of Life.
use instance_variable_get instead of eval
(#15586) Use OptionParser for help

Ruby 1.9.3 dropped Rdoc.usage. The output of `facter --help` depended on
this command. The suggested change from the Rdoc maintainer is to use
the banner of the OptionParser instead. This changes it to use the
banner.
(13051) Make the uniqueid for FreeBSD return the value of sysctl -n kern.hostid

New patch, moves hostuuid to a separate source file and adds unit tests
for both uniqueid and hostuuid on FreeBSD.

This patch was submitted by Garrett Wollman in the description of #13051.
(maint) Document hostuuid and uniqueid facts
(maint) Use sysctl helper method for FreeBSD sysctl calls

Commit fc8b1446c31 added a helper method for cleanly invoking sysctl;
this commit updates the behavior added in bfac93844e to take advantage
of the new method.
Merge branch 'pull-489'

This closes GH-489
(#22143) Add 'gid' fact to resolve users primary group.

A very simple fact to fetch the primary group.  I've only tested
this on Linux/OSX/FreeBSD but id -ng seems to be global.  I even
got a user to test it on Hurd and it worked.
Merge pull request #514 from apenney/gid

(#22143) Add 'gid' fact to resolve users primary group.
(packaging) Update FACTERVERSION to 1.7.3-rc1
Merge tag '1.7.3-rc1'

1.7.3-rc1

* tag '1.7.3-rc1':
  (packaging) Update FACTERVERSION to 1.7.3-rc1
(21868) Move facter libary target to /Library/Ruby/Site

We currently drop the facter library files in /usr/lib/ruby/site_ruby/1.8
OSX, which is a symlink to /Library/Ruby/Site/1.8. As of OSX 10.9 Maverick
this will no longer work because it will be ruby 2.0.0. There are hard way
and easy ways to solve this problem. A hard way would be to somehow
introspect the target host at install time, and then dynamically copy the
payload into the correct ruby version specific path. Another hard way woul be
to create different OSX packages for different versions of OSX. Or, we could
pick the easy way, which is to just install into /Library/Ruby/Site (the
equivalent of /usr/lib/ruby/site_ruby). Since facter will work on all rubies
shipped with supported versions of OSX, this will "just work".

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
(#22233) Warn but do not fail if find gce facts without json lib

Previous patch to GCE would fail outright if there were GCE facts to
parse, but we had no JSON library.  It is better if Facter is allowed to
gather what facts it can rather than failing outright, so this change
just warns that we cannot load GCE facts due to missing JSON gem,
similar to how we warn if there is a problem parsing the GCE facts.

Also fixes up specs a little for consistency and to remove unused
references.
Merge pull request #467 from jhcarr/learning/master/noTicket-flayFacter

(maint) Refactor hpux_spec.rb to reduce test redundancy
Merge pull request #527 from MosesMendoza/ticket/master/21868_fix_apple_target

(21868) Move facter libary target to /Library/Ruby/Site
Merge pull request #512 from ccaviness/22005-install-to-top-level-site_ruby

21760/22005 update preflight to delete old lib dir
Merge pull request #522 from zaphod42/issue/stable/help-on-1.9.3

(#15586) Use OptionParser for help