(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.
(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.