wip
Merge branch 'master' of https://github.com/juju/juju into 196-state-status-not-apiserver-params-status
wip
Merge branch '199-make-api-not-dependent-on-state' into 196-state-status-not-apiserver-params-status
Merge branch 'master' of https://github.com/juju/juju into 196-state-status-not-apiserver-params-status
Fixed command not found error during tests on windows
Factor out a newBackupID function.
Add an alternate ID generator.
Add tests.
all tests pass
Merge branch 'master' of https://github.com/juju/juju into 196-state-status-not-apiserver-params-status
Merge pull request #752 from davecheney/196-state-status-not-apiserver-params-status

state: state no longer depends on params.Status

This PR breaks the dependency between the public `state` api and the `apiserver/params` package. Simply put, when you are working with `Status` and `SetStatus` methods on `state` provided types you now use types defined in the `state` package not the `apiserver`.

The effect on the codebase, especially the tests is profound, many tests in the `state` package no longer import `apiserver/params`.

See also https://lists.ubuntu.com/archives/juju-dev/2014-September/003379.html
state: Life no longer depends on apiserver/params

`state.Life` is a small integer, however it relies on params.State for its string representation. Apart from the coupling, this is nuts because common/life.go doesn't check the results of `state.Life.String()`, it just converts it to a `params.Life` and stuffs it back to the client.
provider/maas: query boot-images in SupportedArchitectures
Bump gomaasapi rev, add tests for SupportedArchitectures
provider/maas: fall back to listing nodes

MAAS 1.4 does not support boot-images, so
we must fall back to listing nodes and
their associated architectures.
Merge pull request #754 from axw/lp1365135-maas-supported-architectures

provider/maas: fix SupportedArchitectures

We were querying simplestreams to determine the set of
supported architectures. This is inappropriate, since nodes
are not provisioned from images in simplestreams.

Instead, we do one of two things, depending on what is
supported by the MAAS server:
 - list all nodegroups, and list boot-images for each; OR
 - list all available nodes, and extract architectures from them

Fixes https://bugs.launchpad.net/juju-core/+bug/1365135
Merge pull request #753 from davecheney/200-state-life-does-not-depend-on-apiserver-params

state: Life no longer depends on apiserver/params

`state.Life` is a small integer, however it relies on params.State for its string representation. Apart from the coupling, this is nuts because common/life.go doesn't check the results of `state.Life.String()`, it just converts it to a `params.Life` and stuffs it back to the client.
Serve charm archives from the API server

Charm archives are now stored in the blobstore,
and served over HTTPS. The uniter client is
modified to construct URLs using the API server
URL.
Migrate charm archives to environment storage on upgrade

We introdue a new database-master upgrade step which
migrates existing charm archives from provider storage
to environment storage. The final step of the migration
is to update the charm's document in state to record
the storage path.