(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.