wip
wip
Refactor ParseTag

* refactor ParseTag, removing the hint. The hint was only used by code when it expected a specific tag type.
* introduce type specific Tag parsers, these replace all the uses of ParseTag with hint and return a specific Tag implementation, not an interface, so the Tag's implemenations values are available without calling a helper method
* Add unit tests for new methods
Refactor ParseTag

* refactor ParseTag, removing the hint. The hint was only used by code when it expected a specific tag type.
* introduce type specific Tag parsers, these replace all the uses of ParseTag with hint and return a specific Tag implementation, not an interface, so the Tag's implemenations values are available without calling a helper method
* Add unit tests for new methods
Merge branch '106-parsetag-refactor' of https://github.com/davecheney/names into 106-parsetag-refactor
tweaked example
Merge pull request #5 from davecheney/106-parsetag-refactor

Refactor ParseTag
NewXXXType functions now return concrete Tag implementation.
Add Tag type for Action
Document public types and members
Merge pull request #6 from johnweldon/actions

Add Tag type for Action
clarify that Action Tag should be constructed from an Action Id not an Action Name
Merge pull request #8 from johnweldon/tweak

Clarify that Action Tag should be constructed from an Action Id ...
Merge branch 'master' of https://github.com/juju/names into 107-typed-news

Conflicts:
	tag_test.go
Merge pull request #7 from davecheney/107-typed-news

NewXXXType functions now return concrete Tag implementation.