Enable windows service in juju

On windows, services need to be able to respond to events in order to be compatible with SCM (Service Control Manager). This PR detects whether we are running from a command line or if we are trying to run it as a service, and executes the appropriate routine.

* Added $ErrorActionPreference="Stop", in all powershell commands in github.com/juju/juju/service/windows. ErrorActionPreference is a powershell variable that dictates how errors should be handled. By default its set to "Continue". Setting it to "Stop" is the equivalent of -e (Stop on error) in BASH.
* updated dependencies.tsv to include the WriteYaml windows fix in utils, a fix for named pipes and to add the windows service package


if you want to reassign the TODO I think that makes sense, but please leave the bug ID intact