Add configuration for logout handler

Currently, setting `user_context: enabled` will throw an exception if no proxy client is configured because of the logout handler, which requires the client. This PR solves that by adding a `user_context.logout_handler.enabled` config option, which defaults to auto, so won't be available without a proxy client.
why abstract? we could also completely remove the definition if its not enabled. not sure which is the better way - i thought abstract was meant like an abstract class, to be the base for concrete services that share some configuration.