(FACT 614) Add structured operatingsystem fact

The first of these commits adds the 'operatingsystem_hash' (name very much pending) structured fact, which incorporates all operatingsystem-related facts into a nested hash. Includes keys for the equivalents of operatingsystem, osfamily, operatingsystemrelease, operatingsystemmajrelease, and the six lsb facts for Linux systems.

The second commit refactors the previously mentioned existing flat facts to resolve by using values from the new 'operatingsystem_hash' structured fact. This ensures that these facts will stay in sync with the new fact, while also maintaining backwards compatibility.
Given the inconsistencies and redundancy of these fact names, I think doing a structured fact is our opportunity to correct this.  The user already knows that facts are operating system related, so perhaps this chunk could just be "name"? And then following facts could be "family", "release", "release_major", and the "lsb" hash?