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
Style fixes.
Merge branch 'master' into id-prov
Add user identity provider
Refactor again...
Added MakeMachine mathod to factory.
Factory methods for charms and services.
Add unit methods to factory.
Update style, some code changes.
Comment updates.
Factory improvements - style fixing.
Mongo id fields should be specified as _id, not _id_.
Merge pull request #358 from tasdomas/factory-improvements

Factory improvements

Added methods for creating charms, services and units to the testing factory.
Merge pull request #363 from tasdomas/user-id

Mongo id fields should be specified as _id, not _id_.

Simple fix - looks like mongo id for the user document was not being specified correctly.
Merge branch 'master' of https://github.com/juju/juju into id-prov

Conflicts:
	state/apiserver/admin.go
cmd/jujud: fix upgrade worker error handling

If the connection to state is lost then return an error so that the
machine agent will restart. For other errors, don't return the error
because we want the machine agent to stay running wait for user
intervention.

This change also adds tests for the handling of upgradeWorkerContext's
UpgradeComplete channel. This was previously untested.
Merge pull request #346 from waigani/id-prov

Identity Provider

Add an identity provider interface to state and an implementation for agents. User, Unit and Machine tags use the AgentIdentityProvider to authenticate.