modify cloud-init scripts
change eth0 from dhcp to manual when bridging
lost .cfg extension for some config files
Added OS field to version.Binary, version.Current

This change allows us to cache the current OS we are running on, so we will not have to do a version.GetOSFromSeries(version.Current.Series) every time we need to get the operating system type
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.
worker/instancepoller: update to HEAD of juju/ratelimit
Corrected dependencies.tsv to juju/gojsonschema etc
Merge pull request #329 from binary132/gojsonschema-fixes

Corrected dependencies.tsv to juju/gojsonschema etc

Updated gojsonschema and charm deps.
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()
-fixs typo
Merge pull request #330 from davecheney/142-update-juju-ratelimit

worker/instancepoller: update to HEAD of juju/ratelimit
Pass net.Listener into apiserver.NewServer

The dummy provider will soon be changed to
create a net.Listener with an ephemeral port,
and then later use this Listener in its
embedded apiserver.Server.

In this PR, we change apiserver.NewServer
to accept a Listener, as opposed to creating
one internally. This also opens the door to
testing without a TCP-based listener (e.g.
using a mock listener than returns in-memory
net.Conns created with net.Pipe).

This PR also records the ephemeral port as
api-port in the dummy provider's environment
config; this will be used in a future change
to use api-port as the basis of computing the
API server addresses.
Add no-op worker
Update dependencies to pull in new repos with licensing fixed
Merge pull request #331 from axw/apiserver-inject-listener

Pass net.Listener into apiserver.NewServer

The dummy provider will soon be changed to
create a net.Listener with an ephemeral port,
and then later use this Listener in its
embedded apiserver.Server.

In this PR, we change apiserver.NewServer
to accept a Listener, as opposed to creating
one internally. We record the ephemeral port
as api-port in the dummy provider's environment
config; this will be used in a future change
to use api-port as the basis of computing the
API server addresses, as we do in normal operation.

This change also opens the door to testing without
a TCP-based listener (e.g. using a mock listener
than returns in-memory net.Conns created with
net.Pipe).
Change Environ.StateInfo to StateServerInstances

Provider implementations should not have to know
about API or Mongo connection details; this should
be provider-independent. Thus, the StateInfo method
of Environ has been replaced with a method that
returns the set of known state server instances.

Ideally the provider would not need to know about
tracking "state servers" either, but rather have
a means of identifying instances with a tag specified
by Juju.

The local, dummy and manual provider
StateServerInstances methods are updated to return
the trivially known instance IDs without consulting
cloud storage. The other providers have been left
alone, and will be dealt with in future PRs.

This is both abstraction cleanup and a requirement
for moving away from requiring cloud storage. Future
changes will update individual providers to break
the dependency on cloud storage, e.g. by using
instance tagging. This involves updating each provider's
StateServerInstances, as well as changing how Juju
checks if an environment is already bootstrapped.
Merge pull request #332 from wallyworld/more-licence-fixes

Update dependencies to pull in new repos with licensing fixed

This is required for compliance with the licensing rules to allow Juju to be included in trusty
cmd/jujud: upgrade status & error handling

The fact that a machine agent is upgrading is now reported in
status. Upgrade errors are now also reported in status.

If an upgrade fails completely the machine agent will now never signal
that the upgrade is done. This prevents the majority of workers from
running, preventing the agent from becoming fully operational without
the upgrade being complete (which could be dangerous). At this point
the user would need to take steps to manually recover.
Merge pull request #333 from mjs/upgrade-status-reporting

cmd/jujud: upgrade status & error handling

The fact that a machine agent is upgrading is now reported in status. Upgrade errors are now also reported in status.

If an upgrade fails completely the machine agent will now never signal that the upgrade is done. This prevents the majority of workers from running, preventing the agent from becoming fully operational without the upgrade being complete (which could be dangerous). At this point the user would need to take steps to manually recover.
juju: update error message