Support for more comprehensive harvesting mode vs binary safe-mode.
Changes after round 1 of reviews.
Merge branch 'master' into lp-1345553-harvest

Conflicts:
	environs/config/config.go
	worker/provisioner/provisioner_task.go
	worker/provisioner/provisioner_test.go
wip
Merge branch '189-mongo-move-mongoinfo-type' into 188-state-clone-state-serving-info
Merge branch 'master' of https://github.com/juju/juju into 188-state-clone-state-serving-info
wip
wip
wip
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' into lp-1345553-harvest
Fixes from review.
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
Implemented a cleanup worker for deleting any metrics that are over a
certain age
added comments and copyright
refactored metric doc to make it simpler. made some changes based on
review.
warning log instead of error in the cleanup worker
minor fixes after review