(FACT-624) Add structured uptime fact

This commit adds a new 'system_uptime' fact, which returns a map including
keys for seconds, hours, days and a human readable uptime.

Also, the existing uptime facts were updated to take their values from this new 
structured fact, rather than resolving them individually.
Just in case, I generally check for existence of the returned fact.  Granted, we know from above it should be present, but it's probably best to just return and not add the dependent facts if for some reason it is missing than to dereference a null pointer.