provider/ec2: break out some of the functionality in to seperate files

Only code change was with respect to the boilerplate for the config.
Otherwise this is just renaming and reorganizing of the ec2 provider code.
This is the first steps to making it more like the other provider implementations.