CAS-1238 Refactor principal resolver components.

1. Rename CredentialToPrincipalResolver -> PrincipalResolver.
2. Leverage symmetry between Credential and Principal ID to create a
   generic principal resolution strategy, BasicPrincipalResolver.
3. Make Person Directory resolver a concrete class that uses generic
   principal ID resolution strategy by default and add capability to set
   principal ID with an attribute value from Person Directory query results.
4. Delete deprecated and superfluous resolver components.
5. Rename some X.509 resolver components for clarity/consistency.
Fix bugs introduced by default registered service ID change.
CAS-1238 LDAP component tweaks following rebase.

Mostly checkstyle fixes and some name changes related to PrincipalResolver
rename.
CAS-1238 Emphasize Credential#getId() contract in javadocs.

Note non-null expectation of Credential#getId() but code defensively.
CAS-1238 Logging and comparison tweaks based on code review.

@mmoayyed recommended that comparisons based on attribute name should
generally be case insensitive. LDAP directories are inherently case
insensitive, and with most other common data sources insensitive matching
is at worst harmless and helpful at best.
Merge pull request #272 from serac/resolver

Refactor Principal Resolver Components