wip
Merge branch 'master' of https://github.com/juju/juju into 155-pass-environment-uuid-via-config-rather-than-generate-on-the-server

Conflicts:
	state/open.go
state: if no cannot provide a uuid, one will be assigned to you by the court
Merge branch 'master' into actionresults-watcher
Moved uuid insertion to environs.prepare
final text tweak
implement test for errors in mergeIds
better error message
Merge pull request #403 from davecheney/155-pass-environment-uuid-via-config-rather-than-generate-on-the-server

state: pass environment uuid via config rather than generate it during initialize

In order to have the uuid of the environment available _before_ state is initialised the uuid is now a part of the environment configuration.

This PR also contains some drive-by cleanups to state tests to make them more robust if they fail.
add more comment details
Merge branch 'master' of https://github.com/juju/juju into doc-design-api-spec
Handled review.
Merge pull request #339 from TheMue/doc-design-api-spec

Added initial version of API design specification

Not yet complete, first doc für review purposes. Future design specs shall be pretty similar.
Added retry around apt-get

Added a retry mechanism around apt-get to avoid failures
caused by something else running apt-get.
apt-get is called until success or error different from
the one caused by dpkg lock
Stop jujud earlier in the process
add convenience function comments, rename variable for clarity
Merge branch 'master' into actionresults-watcher
Merge pull request #246 from gabriel-samfira/services

Added windows service package

* moved upstart to service/upstart
* added windows service management package.

PR notes
====

This PR adds a service package and moves the upstart package under it. The Conf type has been moved to service/common as it will be used by the windows service package as well, and all methods attached to it have been migrated to the Service type. This way we avoid depending on a separate type for installing a service, and relying on the service type for removing itself.  

Windows service package notes
====

The current implementation installs the service as the user under which juju is currently running. This is done because some installers in windows expect that a real human will run it. The "system" user under which services usually run, does not set a proper user profile as well as other attributes, and that might cause some installers to fail.

The downside of this is that to install a service under a password protected user, you need the password for that user. The password is saved as a secure string decodable only by the juju user. The windows userdata script does save the password inside C:\Juju\Jujud.pass. The Install() method reads the encrypted password in that file and decodes it. It is the used to create the service.
Merge pull request #351 from johnweldon/actionresults-watcher

actionResultWatcher :: Implement watcher for actionresults

And a couple golint cleanups
Merge pull request #404 from perrito666/1342937_restore_fails_if_apt_running

fix lp:1342937 restore fails if apt running

Stop jujud before everything else so no worker will be running when we destroy the basic bootstrap.
Retry APT to make sure it is not failing because some other apt is finishing.