ec2_asg: Do changed test for availability_zones separately.
ec2_metric_alarm: Do changed test for description separately.
ec2_metric_alarm: Improve changed test for dimensions.

- Handle the case where old and new dimensions have different keys.
- Break early as soon as we know that the dimensions change.
ec2_scaling_policy: Always return ARN when creating/updating a policy.

This includes scenario where the policy remains unchanged, as the ARN could be
needed by subsequent tasks (e.g. putting metric alarm).

The other return values can be inferred by the caller, so I have removed them.

Also change to call `fail_json` when there is an error with policy delete.