completes API enhancements to support pluggable authentication providers

AccessControlContext API changes:
- adds authenticate method to support authentication without providing credentials
- renames updateCredentials() to setCredentials()
- replaces createAuthenticatableResource() with overloaded createResource() methods

pluggable AuthenticationProvider interface changes:
- adds method to support credential validation, e.g. for validation of minimum requirements
- adds authentication method to verify that a resource is authenticated without having to provide credentials
- removes setContext()

Includes a built-in AuthenticationProvider that provides password-based authentication, so that clients
have the option to use OACC without having to implement their own authentication mechanism.
Note that any passwords handled by the built-in authentication provider now use char[]s exclusively, instead of Strings.