mongo: don't depend on apiserver/params package

This PR removes the dependency between the `mongo` package and the `apiserver/params` package.

The cost is we inline the four fields previously declared in the `params.StateServingInfo` api message.

The `mongo` package now depends on

github.com/juju/errgo
github.com/juju/errors
github.com/juju/juju/cert
github.com/juju/juju/juju/arch
github.com/juju/juju/network
github.com/juju/juju/replicaset
github.com/juju/juju/service/common
github.com/juju/juju/service/upstart
github.com/juju/juju/version
github.com/juju/loggo
github.com/juju/names
github.com/juju/utils
github.com/juju/utils/apt
github.com/juju/utils/proxy
Merge branch 'master' of https://github.com/juju/juju into 192-mongo-dont-depend-on-apiserver-params
fix error in juju bootstrap mock
apiserver/params: remove StatusData map alias
state: infrastructure for synchronising state server upgrades

Introduce a new UpgradeInfo struct (and underlying mongo document)
which will be used by state servers to synchronise tools upgrades.

Later commits will integrate this infrastructure with the upgrade
machinery in jujud.

William Reade and Menno Smits both contributed to this revision.
Merge pull request #657 from davecheney/192-mongo-dont-depend-on-apiserver-params

mongo: don't depend on apiserver/params package

This PR removes the dependency between the `mongo` package and the `apiserver/params` package.

The cost is we inline the four fields previously declared in the `params.StateServingInfo` api message.

The `mongo` package now depends on

github.com/juju/errgo
github.com/juju/errors
github.com/juju/juju/cert
github.com/juju/juju/juju/arch
github.com/juju/juju/network
github.com/juju/juju/replicaset
github.com/juju/juju/service/common
github.com/juju/juju/service/upstart
github.com/juju/juju/version
github.com/juju/loggo
github.com/juju/names
github.com/juju/utils
github.com/juju/utils/apt
github.com/juju/utils/proxy
Merge branch 'master' of https://github.com/juju/juju into 193-apiserver-params-remove-status-data-type
Merge pull request #670 from davecheney/193-apiserver-params-remove-status-data-type

apiserver/params: remove params.StatusData map alias

This PR removes another coupling of the `state` and `apiserver/params` package but removing the `params.StatusData` type.

The `params.StatusData` type, while not directly assignable, has the same underlying Kind as `map[string]interface{}` and has no methods was effectively an alias.

As usual, most of the code motion is in the tests, the real code is relatively unaffected.
Merge pull request #660 from mjs/UpgradeInfo

state: infrastructure for synchronising state server upgrades

Introduce a new UpgradeInfo struct (and underlying mongo document) which will be used by state servers to synchronise tools upgrades.

Later commits will integrate this infrastructure with the upgrade machinery in jujud.

William Reade and Menno Smits both contributed to this revision.