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
TODO what?  Fix it is my guess, but perhaps a slightly more detailed description :-)