Refactor Principal Resolver Components

Change highlights:

1. Rename CredentialToPrincipalResolver -> PrincipalResolver
2. Leverage new Credential#getId() field to provide a simple but generalized prinicpal resolution strategy in BasicPrincipalResolver that replaces several specialized components (HttpServiceBasedCredentialToPrincipalResolver, UsernamePasswordCredentialToPrincipalResolver).
3. Refactor Person Directory-based resolvers.