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


its not really needed in linux, but it compiles just fine and is not called directly. Its used via the service interface and is only used on windows.