Force-destroy machine if manual provisioning fails

If manual provisioning fails, we leave a machine
record in state that can only be removed with
"juju destroy-machine --force". We change the
manual provisioning code to call destroy the machine
with force if it fails.

(Partially) fixes https://bugs.launchpad.net/juju-core/+bug/1356886
provider/bootstrap: verify credentials early, provide user-friendly error message

Verify credentials early in the bootstrap process, and if authentication
fails, provide a user friendly error message. We also remove a redundant
error message from the bootstrap failure case.

This branch only addresses OpenStack; other providers will be addressed
separately.

Partially fixes https://bugs.launchpad.net/juju-core/+bug/1362072
provider/maas: verify credentials early in bootstrap

Verify credentials early in the bootstrap process by
issuing a query to MAAS and checking the status code
on the response (i.e. check if it's 401). 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/openstack: only verify credentials in Prepare, not Open
Fix import grouping
Merge pull request #863 from axw/lp1356886-manual-fail-forcedestroy

Force-destroy machine if manual provisioning fails

If manual provisioning fails, we leave a machine
record in state that can only be removed with
"juju destroy-machine --force". We change the
manual provisioning code to call destroy the machine
with force if it fails.

(Partially) fixes https://bugs.launchpad.net/juju-core/+bug/1356886
Merge pull request #864 from axw/lp1362072-providers-verify-credentials

provider/openstack: verify credentials early, provide user-friendly error message

Verify credentials early in the bootstrap process, and if authentication
fails, provide a user friendly error message. We also remove a redundant
error message from the bootstrap failure case.

This branch only addresses OpenStack; other providers will be addressed
separately.

Partially fixes https://bugs.launchpad.net/juju-core/+bug/1362072
Merge pull request #865 from axw/lp1362072-provider-verify-credentials-maas

provider/maas: verify credentials early in bootstrap

Verify credentials early in the bootstrap process by
issuing a query to MAAS and checking the status code
on the response (i.e. check if it's 401). Provide a
user-friendly error message, and log the underlying
error at debug level.

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