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
Yes, I'm sure there are some places in the code where an empty tag is treated as the admin user, but a user tag for "admin" is most definitely the admin user.