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).