Rename TryUserAuthentication to AuthenticateAsUser
Added a With() method that only cares about an Error being returned
Use simplified With() method
Implemented most of the methods
Make constructors internally accessible
Authenticated registered users are added to host component
Added an ID locator - half implemented
Add user ID locator to ID manager
Can acquire unique IDs across the scope of the host
Added an aggregate unique ID locator
Added a remove method
Implemented AddIdLocator and added RemoveIdLocator
Don't add custom locators to _idManager

Add the aggregate locator to _idManager and add custom locators to the
aggregate locator.
Added equality methods
Require user attributes when authenticating
Add attributes to authentication request message
Add user attributes parameter to authentication method
Renamed Authenticate to AuthenticateAsUser
Added an authentication class
Switched to using AuthenticatedUser