provider/ec2: implement AZ spread

Implement common.ZonedEnviron, and call
the common BestAvailabilityZone and
DistributeInstances functions to implement
automatic availability zone spread.