Add .exe to commands on Windows

On windows, executable commands must have one of the extensions found in $env:PATHEXT. This branch creates a newCommand map where names contain the .exe extension.
We could also add a test that checks consistency between maps.

On Thursday, July 10, 2014, Andrew Wilkins <notifications@github.com> wrote:

> In worker/uniter/jujuc/commands.go:
>
> > @@ -0,0 +1,22 @@
> > +// Copyright 2014 Canonical Ltd.
> > +// Copyright 2014 Cloudbase Solutions
> > +// Licensed under the AGPLv3, see LICENCE file for details.
> > +// +build !windows
> > +
> > +package jujuc
> > +
> > +import "github.com/juju/cmd"
> > +
> > +// newCommands maps Command names to initializers.
> > +var newCommands = map[string]func(Context) cmd.Command{
> > +	"close-port":    NewClosePortCommand,
>
> I know this has already had several LGTMs, but I'm a bit concerned about
> the duplication of this map. Someone is bound to update one (most likely
> the Linux one) and not the other. I'd prefer if we just had a
> platform-specific suffix (="" for Linux) which we add to the map keys.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/juju/juju/pull/244/files#r14796409>.
>