juju/names refactor part 2

Introduce tag.Id() and tag.Kind() methods.

Prepare to alter the signature for ParseTag to return (Tag, error)
I would prefer to see this as more tests in the parseTagTests slice rather than complicating the actual test.