(FACT-597) Require net-tools for RHEL 7+ and Fedora 19+

RHEL 7 deprecated the use of ifconfig, needed by the interface facts.

Also removed duplicate entry for ruby >= 1.8.7
(FACT-613) Add structured processor fact

This commit adds the 'processors' structured fact,
which incorporates all processor-related facts into a
nested hash. Includes keys for the equivalents of
dynamic ProcessorX facts, ProcessorCount,
and PhysicalProcessorCount.

In addition, the fact includes a 'ProcessorSpeed' key
in OSX, which is equivalent to the existing
sp_current_processor_speed fact.
(FACT-613) Sync flat processor facts with structured fact

This commit refactors the Processor, ProcessorCount,
PhysicalProcessorCount and dynamic ProcessorX facts to
resolve by using values from the new 'processors' structured
fact. This ensures that these facts will stay in sync with
the new fact, while also maintaining backwards compatibility.
Merge pull request #730 from treydock/FACT-597/master/el7_package_dependencies

(FACT-597) Require net-tools for RHEL 7+ and Fedora 19+
(FACT-627) Print `false` when outputting a single fact value

Before this commit the plaintext formatter did a naive `if value` which
is false when `value` is either nil or false. While we don't want to
print nil facts, facts that are false are valid but the previous
behavior would treat them as undefined as well. This commit ensures that
the fact value is not nil, and if the fact is defined then it is
printed.

Thanks to RI Pienaar and Robin Bowes for finding and reporting this
issue.
Merge pull request #735 from adrienthebo/fix/master/fact-627-print-false-fact

(FACT-627) Print `false` when outputting a single fact value
Merge pull request #724 from whopper/master_structured_processor_fact

(FACT-613) Add structured processor fact
(FACT-613) Force legacy processor count facts to be strings.
(maint) Don't run OSX processor specs on Windows
Merge branch 'maint/master/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.
Merge branch 'maint/master/processor-load-side-effects'
(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
Merge pull request #737 from whopper/processors_fixup

(FACT-613) Structured processor fact maintenance