The hash_link based cache depends on raw-ptr key comparisons to store
hash entries. This does not work at all well with SBuf as the key,
since the backing MemBlob behind SBuf can change its memory location.
* replace the implementation of User credentials caching with an STL
based container class that can handle SBuf.
* revert the global Auth::User cache design to per-scheme caches
which get combined only when reporting statistics.
* add a RunnersRegistry helper class to control Squid startup,
reconfigure, and shutdown events activity in regards to the caches.
* suppress useless cache garbage collection events when auth has no
credentials to cleanup.
* make the cache key dynamic at the caller codes discretion.