(maint) Fix vmware command execution arguments.

Fixing passing the arguments to vmware in an initialization list so that
the command name is treated differently from the arguments.
(CFACT-139) Move architecture and hardware facts to the "os" fact.

Moving the architecture and hardware from the processors fact to the os
fact.

These two facts describe the operating system and not the processor.

For example, the processor ISA may be x86-64, but the
architecture/hardware of the operating system may be "x86" if the OS is
32-bit.
Merge pull request #202 from peterhuene/cfact/139

(CFACT-139) Move architecture and hardware facts to the "os" fact.
(maint) Fix detection of xenu hypervisor.

The code was checking for the existence of only a file instead of a
file or directory like we have under Ruby Facter.

This caused us to fail to detect the xenu hypervisor (noticed on EC2,
which uses Xen).  The fix is to change the detection to just an "exists"
call to make the Ruby behavior.
(CFACT-18) Implement EC2 facts.

Implementing the ec2_metadata and ec2_userdata facts in libfacter.

These facts will be resolved when under a kvm/xen hypvervisor and the
BIOS version has "amazon" in it.

The ec2_metadata and ec2_userdata facts match exactly to what is output
in Ruby facter.

As the "flattened" facts from ec2_metadata were marked deprecated in
Ruby facter, we've dropped support for them.
(maint) Fix quoting of keys and values in YAML output.

Previously we were just always double quoting all values in the YAML
output to workaround the fact that yaml-cpp will output numerical string
values without quotes which loses their type information as strings.

However, this also affects keys within maps.  Rather than quoting every
single string in the YAML output, which is an eyesore, this commit works
around the yaml-cpp limitation by quoting anything that looks numerical
in keys and values.