Deactivate workers for windows

Authenticationworker and rsyslog workers are not supported on windows yet. The authentication worker will be ported on windows to add support for winrm. Rsyslog is not supported on windows yet.
Add no-op worker
Reverted cmd/jujud/unit.go
Added named pipes support

This branch replaces unix sockets with named pipes on windows.
Provision new instances with version.Current

New instances were being provisioned with the agent-version from the
environ config instead of the currently running tools version. This
meant that there was a risk of new instances not running upgrade steps
if a juju upgrade occurred around the same time as the instance was
provisioned.
worker/apiaddressupdater: clarify docs
worker/peergrouper: don't call SetAPIHostPorts unless changed

We're spamming the transaction log with SetAPIHostPorts
transactions even when the addresses have not changed.
This change stops that from happening.

Fixes https://bugs.launchpad.net/bugs/1345832
Oops.
Precreate the txns collection at the same time as the txn.logs collection
Merge pull request #386 from howbazaar/remote-logging

logging slipped through

removing
Avoid the possibility of returning a typed nil.
Merge pull request #383 from fwereade/provision-current-version

Provision new instances with version.Current

New instances were being provisioned with the agent-version from the
environ config instead of the currently running tools version. This
meant that there was a risk of new instances not running upgrade steps
if a juju upgrade occurred around the same time as the instance was
provisioned.
Update names package usage, fix tests broken due to introduced env uuid checking.
Merge pull request #388 from wallyworld/precreate-txns-collection

Precreate the txns collection at the same time as the txn.logs collection

We pre-create the txn.logs collection when connecting to mongo the first time. 
This change also ensures we create the txns collection as well.
Merge pull request #389 from axw/lp1345832-nochange-nosetapihostports

worker/peergrouper: don't call SetAPIHostPorts unless changed

We're spamming the transaction log with SetAPIHostPorts transactions even
when the addresses have not changed. This change stops that from happening.

Drive-by improvement to apiaddressupdater doc comments, which
were wrong and unhelpful.

Fixes https://bugs.launchpad.net/bugs/1345832
Merge pull request #390 from howbazaar/fix-explosion

Avoid the possibility of returning a typed nil.

The test asserts "gc.IsNil", unfortunately this let a typed nil through.

The caller of this was doing "if info != nil", the typed nil is != nil, so it blew up on the second part.

We can't change the test for this until we write jc.IsNil that asserts a nil interface if the result is an interface, rather than just the value part of the interface.
Merge pull request #393 from tasdomas/names-update

Update names package.

New version of names package provides stricter environment uuid checking.
Do not clone db sessions in state watcher
Merge pull request #396 from wallyworld/no-session-copy-in-watcher

Do not clone db sessions in state watcher

Fixes https://bugs.launchpad.net/juju-core/+bug/1348032

Do not copy sessions when doing watcher queries.
Merge pull request #287 from gabriel-samfira/windows-jujud-machine

Deactivate workers for windows

Authenticationworker and rsyslog workers are not supported on windows yet. The authentication worker will be ported on windows to add support for winrm. Rsyslog is not supported on windows yet.

This pull request depends on https://github.com/juju/juju/pull/244