[9.18] ZMGR: TLS contexts cache - properly synchronise access

This commit ensures that access to the TLS context cache within zone manager is properly synchronised.

Previously there was a possibility for it to get unexpectedly NULLified for a brief moment by a call to dns_zonemgr_set_tlsctx_cache() from one thread, while being accessed from another (e.g. from got_transfer_quota()). This behaviour could lead to server abort()ing on configuration reload (under very rare circumstances).

That behaviour has been fixed.

Backport of !7967 (merged).

Closes #4091 (closed)

Merge request reports