Changed logic around ec2 instance detection.

Previously detection relied on detecting the MAC address of the host, or the arp entry containing a specific MAC.
ec2 instances hosted within VPCs do not have the same arp entry, resulting in false-negatives.

The logic has been restructed to allow for facts to be populated, assuming they can be read from the web service end-point
http://169.254.169.254/$version/meta-data/

Since this service is unlikely to be duplicated / would still be useful if it provided the same keys, it should be used as the primary mechanism for populating facts.