Make runCharmHook windows compatible

On windows, hooks (live every other executable) needs an extension. This branch adds support for running powershell and batch scripts as hooks. For powershell, we need to pass in exta arguments to exec.Command()
Add identity provider interface and agent id provider implementation
Valid login test for agent identity provider.
Merge pull request #1 from tasdomas/idprov

Valid login test for agent identity provider.
Add failing tests
More identity checks and tests.
Style fixes.
Merge Michael's work and fix some tests
Merge branch 'master' into id-prov
Updates following review.
Add user identity provider
Don't blow up if we cannot get an APIState connection.
More updates.
Merge pull request #352 from davecheney/143-apiinfo-whisky-tango-foxtrot

Don't blow up if we cannot get an APIState connection.
Once we have authenticated, we don't need a tagged authenticator any more.
Fix some collection names
Move the file to match the source.
Updates following review.
Tweaks.
juju/testing: JujuConnSuite now always ensures that APIInfo returns an api.Info struct with the UUID of the mock environment set correctly.