(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.
Merge pull request #205 from peterhuene/facts/ec2

(CFACT-18) Implement EC2 facts.
(CFACT-118) Fix typo for Windows serialnumber fact

Missed during review/rewrite of dmi facts. Corrects query for serialnumber
so it now retrieves the fact.
Merge pull request #208 from MikaelSmith/task/master/CFACT-118-fix-typo

(CFACT-118) Fix typo for Windows serialnumber fact