WIP: Added windows service package

* moved upstart to service/upstart
* added windows service management package.

The current implementation installs the service as tha 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.
this smells like a convenience method, why can't we have

func StopAndRemove(s Service) error {
    err := s.Stop()
   // check error
   return s.Remove()
}