Add a logger to ClientService, add better diagnostics to

ClientServicesException and add new protected methods so response
handler can be configured for error and success