Add .exe to commands on Windows

Windows cares about extensions. This branch adds .exe suffix to all commands
Add ActionComplete and ActionFail to the API
Update the api and cache test.
Careful exposition of the ConnectionEndpoint.
Fix the rest.
Fix imports
Update loggo import. Rename suite, and remove old code.
Merge pull request #244 from gabriel-samfira/windows-ensure-symlinks

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.
Update the api and cache test.
Careful exposition of the ConnectionEndpoint.
Fix the rest.
Update loggo import. Rename suite, and remove old code.
Merge pull request #290 from howbazaar/env-cmd-env-name-method

unexport the env command EnvName value

This PR finally manages to hide the EnvName from the environment command.

A ConnectionEndpoint function is moved from the juju package, along with the tests.

A ConnectionName method is added with the caveat that the name may be empty.

The EnvironName method on the wrapper was never called, and was confusing, so I removed it.

The manual provisioning still takes a connection name, but it should be changed to take either the config or api end point. This will be addressed in a follow up branch.

The testing of the api end point caching was in the wrong place. It stays in the juju package, but in a different test suite.
Merge branch 'master' of github.com:juju/juju into env-cmd-manual
Manual provider updates.
clean up the client
Updates following review.
Merge pull request #308 from howbazaar/env-cmd-manual

Env cmd manual

This work removes the dependency that the manual provisioning had on the environment name.

Instead, the provisioning requires something that supports the API it needs to call.  This means that the interface that the add-machine command depends on needs a few more methods.

The AddMachines client method is now used, and the 1.18 fall-back code is removed.
Merge pull request #303 from johnweldon/action-api-complete

Add ActionComplete and ActionFail to the API
prefer-ipv6 passed through to agent config