provider/ec2: verify credentials early in bootstrap

Verify credentials early in the bootstrap process by
issuing a query to EC2 and checking the status code
on the response. Provide a user-friendly error message,
and log the underlying error at debug level.

Partially fixes https://bugs.launchpad.net/juju-core/+bug/1362072
provider/azure: use new in-memory cert/key API in gwacl

A third-party contribution has just landed in gwacl to
allow users to pass the certificate and key as a []byte,
rather than requiring filenames to be specified. Juju
is updated to use this, removing the need to create
temporary files, simplifying the code.
Add comments about immutability/snapshots
utils/ssh: fix flaky run tests

Timeout should be long if the operation
is not expected to timeout.
cmd/plugins/juju-metadata: don't Prepare environment

The metadata commands are changed to require an existing
environment, rather than preparing one. Only Bootstrap
should prepare an environment.
Merge pull request #873 from axw/lp1362072-provider-verify-credentials-ec2

provider/ec2: verify credentials early in bootstrap

Verify credentials early in the bootstrap process by
issuing a query to EC2 and checking the status code
on the response. Provide a user-friendly error message,
and log the underlying error at debug level.

Partially fixes https://bugs.launchpad.net/juju-core/+bug/1362072

http://reviews.vapour.ws/r/137/
Merge pull request #872 from axw/azure-cert-no-tempfile

provider/azure: use new in-memory cert/key API in gwacl

A third-party contribution has just landed in gwacl to
allow users to pass the certificate and key as a []byte,
rather than requiring filenames to be specified. Juju
is updated to use this, removing the need to create
temporary files, simplifying the code.

http://reviews.vapour.ws/r/136/
emove commented code
Merge branch 'master' of https://github.com/juju/juju into uniter-context-separate-runner