If ec2 fact has ':' or '-', change to '_'

Change ec2 fact names with colons (:) or dashes (:) to undescore (_)
so that they can be used in templates.

Note that this makes copies instead of replacing the exisitng fact
names to avoid breaking existing playbooks.

Note that several lines show changes in the diff because my editor trims trailing whitespace, the only real changes are lines 99-106 and 113.