provider/ec2: match more constrained AZ errors

Horacio reports a bootstrap failure caused by
a constrained AZ, but received a different error
message from EC2:

"2014-06-17 13:35:22 ERROR juju.provider.common bootstrap.go:119 bootstrap failed:
cannot start bootstrap instance: cannot run instances: Your requested instance type
(m3.medium) is not supported in your requested Availability Zone (us-east-1a).
Please retry your request by not specifying an Availability Zone or choosing
us-east-1e, us-east-1c, us-east-1d. (Unsupported)"

The change I've made is simply to match any "Unsupported" error
that contains the string "Availability Zone".

Fixes https://bugs.launchpad.net/juju-core/+bug/1330163
Merge pull request #117 from axw/lp1330163-ec2-moar-constrained-az

provider/ec2: match more constrained AZ errors

Horacio reports a bootstrap failure caused by
a constrained AZ, but received a different error
message from EC2:

"2014-06-17 13:35:22 ERROR juju.provider.common bootstrap.go:119 bootstrap failed:
cannot start bootstrap instance: cannot run instances: Your requested instance type
(m3.medium) is not supported in your requested Availability Zone (us-east-1a).
Please retry your request by not specifying an Availability Zone or choosing
us-east-1e, us-east-1c, us-east-1d. (Unsupported)"

The change I've made is simply to match any "Unsupported" error
that contains the string "Availability Zone".

Fixes https://bugs.launchpad.net/juju-core/+bug/1330163
Show relation name in status when a relation hook fails

This change takes advantage of new information that's been recently
added to the FullStatus API.

Fixes LP #1194481
cmd/juju: refactor status formatting

Status formatting functions are now part of a struct. This avoids the
need to pass the relations map through many functions when it is only
used in one (deeply nested) place.
Merge pull request #109 from mjs/1194481-relation_name_in_status_when_relation_hook_fails

Better status information when a relation hook fails

The first commit makes a  bunch of changes which take advantage of new data now available in the FullStatus API response to show the remote endpoint details when a relation hook fails. This addresses LP #1194481.

The second commit refactors the status formatting code to make some of the changes made in the previous revision somewhat cleaner.
Refactor to use names package for Action ID
Break monolithic state ParseTag test into smaller chunks. Add missing doc comment