Move responsibility for provider-state to providers
provider/common: add tests for provider-state functions
Clean up around --keep-broken, add test to openstack
Address review comments
Merge pull request #816 from axw/provider-common-providerstate

Move responsibility for provider-state to providers

Only providers using provider storage for tracking state
server instances should manage a provider-state file, so
the responsibility is moved out of provider/common and
into the individual providers. Additional helpers have
been added to provider/common to reduce code repetition.

With the removal of provider-state management from common,
there are no reason to keep "--keep-broken" or StopInstances
logic in there. Thus, bootstrap failure is now handled entirely
by the client (cmd/juju/bootstrap.go & environs/bootstrap).