Replace rsyslog for non-bootstrap agents

This PR uses a fork of the standard syslog package to stream logs directly to state machine rsyslog daemon

update tls config

* ensureCertificates now adds local IPs to subjectAltName. This allows clients to validate the server when connecting via IP
* fixed tls config passed to the client
Add state machine addresses
Replaced strings.Split() with net.SplitHostPorts()
Updated dependencise.tsv and separated tests

* Only the forwarder tests should be run on Windows
* updated dependencies.tsv to include the --nounixsocket fix on Windows
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.
Remove unneeded removes
Added comment
Update the doc for backups and restore.
Clarify about the upload-and-restore case.