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
state: openedPortsWatcher no longer exposes global keys
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).
Merge pull request #826 from dimitern/state-openedportswatcher-no-global-keys

state: openedPortsWatcher no longer exposes global keys

Follow-up to #799: the openedPortsWatcher in state now
reports changes as "\<machine-id\>:\<network-name\>", rather
than as global keys ("m#\<id\>#n#\<name\>"), as this exposes
internal state details unnecessarily.

NOTE: Already approved as https://github.com/dimitern/juju/pull/1
and http://reviews.vapour.ws/r/85/, just re-proposing against juju:master.