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.
Merge branch 'master' of https://github.com/juju/juju into 192-mongo-dont-depend-on-apiserver-params
Revert to using curl to download tools

aria2 is in universe, which would preclude
juju from entering main. aria2 is also not
available on the test machines, and broke
CI. Revert to using curl, but cycle through
the URLs until one succeeds.

Fixes https://bugs.launchpad.net/juju-core/+bug/1364438
Merge pull request #661 from axw/lp1364438-curl-download-tools

Revert to using curl to download tools

aria2 is in universe, which would preclude
juju from entering main. aria2 is also not
available on the test machines, and broke
CI. Revert to using curl, but cycle through
the URLs until one succeeds.

Fixes https://bugs.launchpad.net/juju-core/+bug/1364438
fix error in juju bootstrap mock