state, etc: state.Info.Tag is now a names.Tag not a string
Merge branch 'master' of https://github.com/juju/juju into 132-names-refactor-part-v

Conflicts:
	agent/agent_test.go
	environs/cloudinit/cloudinit_test.go
	environs/cloudinit_test.go
	state/open.go
Merge branch 'master' of https://github.com/juju/juju into 132-names-refactor-part-v
fix panic when info.Tag is nil (user is admin)
Merge branch 'master' of https://github.com/juju/juju into 132-names-refactor-part-v

Conflicts:
	state/apiserver/backup_test.go
Merge pull request #267 from davecheney/132-names-refactor-part-v

state, etc: state.Info.Tag is now a names.Tag not a string

This change redefines state.Info.Tag as a names.Tag. 

This uncovered a lot of nastiness in the tests where an invalid tag was being used as a test fixture and then the incorrect result was asserted. An example of this is the agent.ConfigFile stuff which we all know _should_ write a file like fmt.Sprintf("%s-%s", tag.Kind(), tag.Id()), but the test fixtures were wrong.