refactored: use immutable list builder to build extensions
refactored: don't use shared logger instance in CrowdAuthenticator
added: user provider for crowd
fixed: obey the API for doGetUserDetails if a user does not exist
added: ExternalGroupsProvider from crowd
changed: improve error messages if the crowd client fails
added: crowd realm
changed: realm and config as server extensions for the crowd plugin
refactored: delete CrowdHelper; don't use shared logger