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.
Make runCharmHook windows compatible

On windows, hooks (live every other executable) needs an extension. This branch adds support for running powershell and batch scripts as hooks. For powershell, we need to pass in exta arguments to exec.Command()
Add no-op worker
Reverted cmd/jujud/unit.go
Added named pipes support

This branch replaces unix sockets with named pipes on windows.
environs/config: remove old pre 1.13 config logic
environs: remove Name method from environs.Environ

This change removes the Name method from the Environ interface.

The rational for this comes from the work at the Identity sprint which has identified that the canonical identifier for an environment is its UUID. This downplays the importance of the Environ.Name() method, so the method has been removed and replaced by the same method availble on Environ.Config(). As these two _MUST_ be the same, the effect on the caller is nil.

It should be noted that this change identified several places where Environ.Name() and Environ.Config().Name() were not reporting the same values and these have been fixed.
worker.Runner now treats nil error as dont-restart
Merge branch 'master' into copy-session
driveby: fix slow tests
Fix review comments
mongo: reduce min/max oplog size

Reduce oplog minimum size to 512MB,
and maximum size to 1024MB.

See comments on bug for backstory
and analysis.

Fixes https://bugs.launchpad.net/juju-core/+bug/1344940
Propagate machine jobs from state to StartInstance

The provisioner is updated to send the correct set
of machine jobs from state through to the broker's
StartInstance call. This allows us to now expose and
load balance the correct set of ports for state
servers in Azure.

Fixes https://bugs.launchpad.net/juju-core/+bug/1347371
Revert "Do not use global sessions"
Merge pull request #372 from juju/revert-361-copy-session

Revert "Do not use global sessions"
Merge pull request #365 from davecheney/149-environs-drop-name-method

environs: remove Name method from environs.Environ

This change removes the `Name` method from the `Environ` interface.

The rational for this comes from the work at the Identity sprint which has identified that the canonical identifier for an environment is its UUID. This downplays the importance of the `Environ.Name()` method, so the method has been removed and replaced by the same method available on `Environ.Config()`. As these _MUST_ be the same, the effect on the caller is nil.

It should be noted that this change identified several places where `Environ.Name()` and `Environ.Config().Name()` were not reporting the same values and these have been fixed.
Merge pull request #291 from gabriel-samfira/windows-run-hooks

Make runCharmHook windows compatible

On windows, hooks (live every other executable) need an extension. This branch adds support for running powershell and batch scripts as hooks. For powershell, we need to pass in exta arguments to exec.Command()

This branch depends on https://github.com/juju/juju/pull/287
Merge pull request #371 from axw/lp1347371-worker-provisioner-jobs

Propagate machine jobs from state to StartInstance

The provisioner is updated to send the correct set
of machine jobs from state through to the broker's
StartInstance call. This allows us to now expose and
load balance the correct set of ports for state
servers in Azure.

Fixes https://bugs.launchpad.net/juju-core/+bug/1347371
Merge pull request #368 from axw/lp1344940-oplog-smaller

mongo: reduce min/max oplog size

Reduce oplog minimum size to 512MB,
and maximum size to 1024MB.

See comments on bug for backstory
and analysis.

Fixes https://bugs.launchpad.net/juju-core/+bug/1344940
Adds support for stripped-down Ubuntu images which may not have kvm-ok in their path.