Refactor ActionTag to expose a UnitTag() method.

Internalize logic for extracting a UnitTag from an ActionTag, so that internal parsing details of an actionId don't need to be visible outside the ActionTag.

Refactor UnitTag slightly to make unitName parsing code accessible to ActionTag within the names package.

Clarify that ActionId's, until further notice, only have UnitName prefixes (not Services for now)

Improve tests to validate the changes made in this PR
I use parseActionId to also validate that an actionId is legitimate, which includes the Sequence part  of the Id.  I probably could get away without the private struct, but it seemed cleaner to me to do it that way.