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
Why use the external Id instead of id? (I see it was this way before but makes me curious anyway)