(maint) Don't run OSX processor specs on Windows
(maint) Don't assume processor facts are defined

If Facter cannot resolve the processors fact (eg Facter.value is stubbed
or the processors fact isn't implemented on a platform) we cannot always
assume that we have a hash. This commit changes the enumerated processor
facts to retrieve the processors fact and ensure that it's defined before
invoking methods on it.
(maint) Lazily evaluate and memoize processor implementation

Without this commit the processors fact will try to determine the OS
specific implementation when the fact is loaded, which triggers a lot of
side effects at load time. This commit converts the fact to lazily load
and memoize the object so that loading is deferred as much as possible.
(Fact-613) Rename 'processor' module to 'processors'

This commit renames the 'processor' module to 'processors',
which is more consistent with the 'processors' structured
fact and the directory structure which was created for it.
(FACT-613) Remove interaction with internal loader in legacy processor fact

This commit removes the call to facter.collection.internal_loader.load
in the legacy processor fact, which was redundant with the call to
Facter.value.
(FACT-613) Update confine blocks in legacy processor facts

This commit updates the confine blocks in legacy processor facts
to confine based on the existence of the 'processors' structured
fact, rather than on kernel.
(FACT-613) Rename keys of processors structured fact

This commit updates the naming of keys within the processors
structured fact to reduce redundancy.
(FACT-613) Convert 'models' key of processors structured fact to array

This commit changes the 'models' key within the processors structured
fact into an array. Previously, the key was a hash which was used
to support the legacy dynamic 'processorX' flat facts. With this
change, the flat fact itself handles its naming based on the index
number of a processor in the array.
(FACT-613) Stylistically update processor facts
(maint) Update schema to reflect usage of array in processors fact
(maint) Fix invalid regular expression in schema

This commit updates two regular expressions in schema/facter.json
so that the JSON validator passes.
(FACT-637) Add lsbminordistrelease fact

This fact gives the minor version of the distro as derived from
lsbdistrelease and is confined to the kernel value of Linux or
GNU/kFreeBSD. Given lsbdistrelease of X.Y or X.Y.Z it will return Y. If
no minor version is present, the fact will not exist.
(FACT-637) Add lsbminordistrelease to facter schema