Identity Provider

Add an identity provider interface to state and an implementation for agents. User, Unit and Machine tags use the AgentIdentityProvider to authenticate.
Better to not do this in setup, but instead have different test functions for each type you want to check.