Refactor to use names package for Action Id

Moved some of the Action Id code out into the names package, and made Action implement Entity (Tag())
I wish all these were in separate tests - unit, service, machine, action etc. With a common setup helper. Bonus marks for splitting up this test. It's grown to be quite ridiculous how much it does in the one test.