Merge branch '1.6.x' into 2.x

* 1.6.x:
  (#13535) Fix uptime; use `uptime` instead of `who -b`
Merge branch '2.x'

* 2.x:
  (#13535) Fix uptime; use `uptime` instead of `who -b`
(#16506) Fix illegal option error from uname on hpux

Without this patch applied Facter produces a misleading error message
when run on HP-UX:

    $ facter hardwareisa
    /usr/bin/uname: illegal option -- p
    usage: uname [-amnrsvil] [-S nodename]

This patch fixes the problem by changing the command to `uname -m` when running
on the HP-UX kernel.

Original author: Alex Harvey

Reviewed-by: Jeff McCune <jeff@puppetlabs.com>
Merge branch 'fix/1.6.x/16506_hpux_uname_p' into 1.6.x

* fix/1.6.x/16506_hpux_uname_p:
  (#16506) Fix illegal option error from uname on hpux
Merge branch '1.6.x' into 2.x

* 1.6.x:
  (#16506) Fix illegal option error from uname on hpux
Merge branch '2.x'

* 2.x:
  (#16506) Fix illegal option error from uname on hpux
(#16526) Fix physicalprocessorcount fact on Solaris

Without this patch applied Facter produces the following error output
when run on versions of Solaris prior to version 8.

    $ facter -d physicalprocessorcount
    /usr/sbin/psrinfo: illegal option -- p
    usage:
            psrinfo [-v] [processor_id ...]
            psrinfo -s processor_id

This is a problem because the value is not actually returned to the end user.

This patch fixes the problem by avoiding the use of the `-p` flag in versions
of Solaris prior to kernel release 5.8 (Solaris 8).  In these scenarios, we
simply count the number of lines in the output of the `psrinfo` command.
Merge branch 'fix/1.6.x/16526_fix_physicalprocessorcount_fact' into 1.6.x

* fix/1.6.x/16526_fix_physicalprocessorcount_fact:
  (#16526) Fix physicalprocessorcount fact on Solaris
Merge branch '1.6.x' into 2.x

* 1.6.x:
  (#16526) Fix physicalprocessorcount fact on Solaris
Merge branch '2.x'

* 2.x:
  (#16526) Fix physicalprocessorcount fact on Solaris
(#16527) Fix processorcount fact on Solaris

Without this patch applied the processorcount fact on Solaris releases
without the kstat command produces the following error message:

    Could not retrieve processorcount: private method `scan' called for nil:NilClass

This is a problem because there is no clear path forward for the end
user.

This patch fixes the problem by switching the command executed to gather
the processor count from executing `kstat` to executing `psrinfo` for
Solaris kernel releases before 5.8.
Merge branch 'fix/1.6.x/16527_fix_processorcount_on_solaris' into 1.6.x

* fix/1.6.x/16527_fix_processorcount_on_solaris:
  (#16527) Fix processorcount fact on Solaris
Merge branch '1.6.x' into 2.x

* 1.6.x:
  (#16527) Fix processorcount fact on Solaris
Merge branch '2.x'

* 2.x:
  (#16527) Fix processorcount fact on Solaris
(maint) Add newlines to all files (whitespace only)

Without this patch there are a number of files that do not have
newlines.  This is a problem because it makes it difficult to use
`perl -pl -i -e ...`
(maint) Add newlines to all files (whitespace only)

Without this patch there are a number of files that do not have
newlines.  This is a problem because it makes it difficult to use
`perl -pl -i -e ...`
(maint) Remove rspec from shebang lines

Without this patch Ruby 1.9 is still complaining loudly about trying to parse
the spec files.

I'd prefer to remove the shebang lines entirely, but doing so will cause
encoding errors in Ruby 1.9.  This patch strives for a happy middle ground of
convincing Ruby it is actually working with Ruby while not confusing it to
think it should exec() to rspec.

This patch is the result of the following command run against the source tree:

    find spec -type f -print0 | \
      xargs -0 perl -pl -i -e 's,^\#\!\s?/(.*)rspec,\#! /usr/bin/env ruby,'
(maint) Remove rspec from shebang lines

Without this patch Ruby 1.9 is still complaining loudly about trying to parse
the spec files.

I'd prefer to remove the shebang lines entirely, but doing so will cause
encoding errors in Ruby 1.9.  This patch strives for a happy middle ground of
convincing Ruby it is actually working with Ruby while not confusing it to
think it should exec() to rspec.

This patch is the result of the following command run against the source tree:

    find spec -type f -print0 | \
      xargs -0 perl -pl -i -e 's,^\#\!\s?/(.*)rspec,\#! /usr/bin/env ruby,'
Merge branch 'maint/1.6.x/cleanup' into 1.6.x

* maint/1.6.x/cleanup:
  (maint) Remove rspec from shebang lines
  (maint) Add newlines to all files (whitespace only)
Merge branch 'maint/2.x/cleanup' into 2.x

* maint/2.x/cleanup:
  (maint) Remove rspec from shebang lines
  (maint) Add newlines to all files (whitespace only)