Merge branch 'master' of https://github.com/juju/juju into 135-names-refactor-part-viii

Conflicts:
	environs/cloudinit_test.go
	provider/azure/environ_test.go
common.Watch now takes a Tag
Merge branch 'master' of https://github.com/juju/juju into 135-names-refactor-part-viii
AgentConfigParams.Tag is now a names.Tag
wip
Merge branch 'master' of https://github.com/juju/juju into 135-names-refactor-part-viii
wip
address more TODOs
responding to review feedback, add tests, fix the tests that were there but didn't run
Merge branch 'master' of https://github.com/juju/juju into 135-names-refactor-part-viii

Conflicts:
	agent/agent_test.go
Merge pull request #309 from davecheney/135-names-refactor-part-viii

135 names refactor part viii

More string -> names.Tag refactorings

Address the uses of strings as tags in agent configuration. There appears to be a strong case that agentConfig.Tag() should return a names.MachineTag only, but this has not been addressed yet.

Address and remove many TODOs, the remainder have been fought back to the state package where you still must request state objects via string, rather than tags. This is coming next