Added versions to Agent API.
Added forgotten params.
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Minor fixes after first review.
state: refactor Storage

- State.Storage() no longer returns an error
- state.Storage no longer has a Close method

Resource lifetime is now managed within each
method call. Get is a special case, where the
returned ReadCloser manages the lifetime of
the mgo session (it is closed when the ReadCloser
is closed).
Change state.Storage usage sites
fix comment, add tests
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
fixed an error formatting bug
Redesign including different testing approach (better separation).
Merge pull request #784 from axw/state-storage-refactor

state: refactor Storage

- State.Storage() no longer returns an error
- state.Storage no longer has a Close method

Resource lifetime is now managed within each method call. Get is a special
case, where the returned ReadCloser manages the lifetime of the mgo session
(it is closed when the ReadCloser is closed).
Add an owner to state.InitializeState.

Instead of the owner being "admin", it is now whatever
gets passed in.  All existing tests now use a non-admin user
name.  The jujud bootstrap command now takes a name to use
as a command line arg, but it defaults to "admin", which is the
existing behaviour.  A follow-up branch will change the client
side bootstrap command to use the currently logged in user.

Fixed restore, no tests there.
Merge pull request #773 from howbazaar/specify-initial-user

Add an owner to state.InitializeState.

Instead of the owner being "admin", it is now whatever
gets passed in.  All existing tests now use a non-admin user
name.  The jujud bootstrap command now takes a name to use
as a command line arg, but it defaults to "admin", which is the
existing behaviour.  A follow-up branch will change the client
side bootstrap command to use the currently logged in user.
Add custom image metadata to environment storage

Image metadata is now added to environment storage
instead of provider storage. Custom simplestreams
data sources are now registered in the environs
package, and the imagemetadata.SupportsCustomSources
interface has been removed.

At bootstrap time, if --metadata-source is specified
then we register a datasource pointing to the image
metadata (if it exists), and we read it and add it
to the MachineConfig. We use this to create simplestreams
files on disk on the bootstrap machine, which jujud
bootstrap-state reads and adds to environment storage.

State servers now register an environment-storage
based datasource directly after opening state. This
will be used instead of the old provider state
datasource.
Fix tests
Address review comments
apiserver: allow an extra API method during upgrades

Client.EnvironmentGet is required to support "juju ssh". SSH should be
available during upgrades but this method was not in the list of
upgradingRoot's allowed API methods.

This revision fixes the issue (tested manually). A CI test change will
be made next ensure that SSH continues to work during upgrades.

Fixes LP#1367009.