High-level client hiding authentication behind a regular request API.
PIAuthHTTPClient base (base URL, SSL, single-retry on 401) with
PIBasicAuthHTTPClient, PIBearerAuthHTTPClient and PISessionHTTPClient
(login/logout, token store, auto re-login). Adds sendRawRequest so
login/logout never carry a stale token.
destroy() aborted and deleted clients in the queue but did not
delete clients that were currently being processed (clients_in_proc).
If a thread was terminated while processing a client, that client
object and its CURL handle were leaked.