fixes #529 ec2_group module bug

The problem was ultimately various capitalization mismatches between the rules lookup dictionary keys.  The least-invasive fix I think was to factor out the key creation into a function, and then make sure it's consistent for all possible inputs.

As it turns out, using a lowercase protocol (`icmp` in my case), instead of uppercase in the playbook also fixes the problem.  But boto accepts both upper and lower case so ansible should too.

fix for #529