(Work in Progress) (FACT 614) Add structured operatingsystem fact

The first of these commits adds the 'os' 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 'os' structured fact. This ensures that these facts will stay in sync with the new fact, while also maintaining backwards compatibility.
Ah yes - I meant to ask you how we wanted to handle lsbmajdistrelease, since in the current facter release it's incorrect. Is it alright to change its value to i.e 1004 instead of 10? This actually also applies to operatingsystemrelease on Amazon, since currently we fall back to kernelrelease when we should use /etc/system-release.