provider/ec2: try next AZ on InsufficientInstanceCapacity (backport)

(backport to 1.21)

InsufficientInstanceCapacity may be returned by RunInstances
if the AZ cannot allocate instances of the specified instance
type. We will now handle this the same as constrained zones,
by retrying the request with the next least-populated zone.

Fixes https://bugs.launchpad.net/juju-core/+bug/1389037