(FACT-612) Add structured uptime fact

This commit adds a new 'system_uptime' structured fact, which
includes keys for seconds, hours, days and uptime. Also,
the existing uptime facts have been modified to use this hash rather
than calling out to Facter::Util::Uptime utilities to generate their
values.
(MAINT) Replace bare 'sysctl' call with Facter::Util::POSIX.sysctl

This commit builds on work done in proposed pull request
715 by jasperla, and uses the existing sysctl method to find kern.boottime,
rather than doing a bare Facter::Core::Execution call on sysctl.
Merge pull request #721 from whopper/structured_uptime_fact_master

(FACT-612) Add structured uptime fact
(FACT-612) Fix issue with missing POSIX require

This commit fixes an issue where in OSX, system_uptime
would fail due to a missing requirement of 'facter/util/posix'
in uptime's utility file.
Merge pull request #726 from whopper/uptime_posix_require_fix

(FACT-612) Fix issue with missing POSIX requirement for system_uptime