Merge branch 'master' of https://github.com/juju/juju into 170-state-apiserver-testing-drop-unused-field
Merge branch 'master' of https://github.com/juju/juju
Merge branch 'master' of https://github.com/juju/juju
Revert "Revert "Make FakeAuthorizer.AuthClient logic the same as apiserver.srvRoot""

This reverts commit e03852079e443e612709009f43eeb1d37fd421ae.

Conflicts:
	state/apiserver/keymanager/keymanager_test.go
	state/apiserver/usermanager/usermanager_test.go
Revert "Revert "AuthUnitAgent now derives from fa.Tag""

This reverts commit 54c3bd6483045cfa33992a6ddc8e271db5e2e7e5.

Conflicts:
	state/apiserver/uniter/uniter_test.go
	state/apiserver/upgrader/unitupgrader_test.go
reimplement FakeAuthorizer.AuthMachineAgent to match srvRoot
FIX 1356899

Re-propose reverted branch 2d129e3 (manual provision with custom key).
Re-add a line of bash script that was accidentally deleted.
Merge branch 'master' of https://github.com/juju/juju into 172-state-apiserver-faketesting-refactor
Merge branch 'master' of https://github.com/juju/juju
state/apiserver/testing: remove GetAuthEntity

GetAuthEntity is no longer part of the Authorizer interface.

The Fake Authorizer always determines it's authentication from the Tag of the entity, so the entity itself is unnecessary.
Merge branch 'master' of https://github.com/juju/juju into 172-state-apiserver-faketesting-refactor
Merge branch '174-state-apiserver-faketesting-remove-get-auth-entity' into 172-state-apiserver-faketesting-refactor

Conflicts:
	state/apiserver/environment/environment_test.go
	state/apiserver/testing/fakeauthorizer.go
	state/apiserver/uniter/uniter_test.go
	state/apiserver/usermanager/usermanager_test.go
gofmt
tweak
Merge pull request #524 from waigani/redo-man-prov-key

FIX 1356899

Re-propose reverted branch 2d129e3 (manual provision with custom key).
Re-add a line of bash script that was accidentally deleted.
Merge pull request #529 from davecheney/174-state-apiserver-faketesting-remove-get-auth-entity

state/apiserver/testing: remove GetAuthEntity

GetAuthEntity is no longer part of the Authorizer interface.

The Fake Authorizer always determines it's authentication from the Tag of the entity, so the entity itself is unnecessary.
Merge pull request #515 from davecheney/172-state-apiserver-faketesting-refactor

state/apiserver/testing: FakeAuthorizer fixups

This PR removes three of the boolean fields on FakeAuthorizer. There is more work to be done, but this is a good point to land what I have done so far.

Discussion: https://lists.ubuntu.com/archives/juju-dev/2014-July/003104.html
state/apiserver/common: refactor AuthAlways

This branch prepares for an upcoming change to make AuthAlways more strict by splitting AuthAlways(true/false) into two helpers, AuthAlways and AuthNever which take no arguements.

As the value passed to AuthAlways was a constant in all but one case this has made the code easier to read in the common case.
sentences end with a full stop.
Tags are now validated, so blank and spaces are no longer valid.