With this the neg and key caches can be shared between multiple
libunbound contexts.
The msg and rrset caches already allowed this since context_finalize()
did not touch those if they are already available and have the correct
size.
Care must be taken to properly unhook the caches from the validator
environment before calling ub_ctx_delete() otherwise one risks double
free or use after free bugs.