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
Can you please make this sane and use 
```go
names.NewMachineTag("1")
```
?

That would make me feel much better about this.