(Bug #22238) Remove EOL f17

We're removing support for Fedora 17, because it's gone End of Life.
(#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.
Merge pull request #522 from zaphod42/issue/stable/help-on-1.9.3

(#15586) Use OptionParser for help
Merge pull request #521 from melissaanne/maint/stable/re-141_rm-eol-f17

(Bug #22238) Remove EOL f17
(#22334) Use Facter's logging system for warn

Several points in facter would use ruby's built in warn method, which
always prints to stderr. This made unstoppable messages show up on the
stderr such as:

  [vagrant@localhost ~]$ facter virtual
  Could not retrieve virtual: Permission denied - /sys/firmware/dmi/entries/1-0/raw
  virtualbox

By using facter's normal logging system, the user has control of these
showing up and they won't end up in stderr (which might be going nowhere
in a daemonized process).
Merge pull request #529 from zaphod42/issue/stable/22334-logging-to-stderr

(#22334) Use Facter's logging system for warn
(#22349) Read from user's home when non-root

The external facts directory always assumed that the user was root, or
at least had read access to the global facts.d directory. This created
problems for users with restricted permissions when running as non-root.
Instead of trying to handle the permissions problem, which would have
made facter run, this changes facter to follow the same non-root style
as puppet, which is to look in the home directory for a .facter/facts.d
external facts directory. Simply handling the error would have had two
undesirable consequences: 1) it would have hidden a problem from the
user and 2) it would have made external facts cumbersome to use as
non-root as the user would always have to specify --external-dir, which
is not currently possible when facter is used by puppet.
Merge branch 'issue/stable/22349-facter-as-non-root' into stable

* issue/stable/22349-facter-as-non-root:
  (#22349) Read from user's home when non-root
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (#22349) Read from user's home when non-root
  (#22334) Use Facter's logging system for warn
  (#15586) Use OptionParser for help
  (Bug #22238) Remove EOL f17

Conflicts:
	spec/unit/ec2_spec.rb
	spec/unit/util/loader_spec.rb