authoritative: Prevent a potential race condition in cache cleaning
Clean query cache before cleaning packet cache. Otherwise the following
situation is possible:
* thread A cleans packet cache
* thread B answers a question for the same name that is being cleaned by A
* since there is no packet cache it populates a packet cache entry from the
query cache (which has not yet been cleaned by thread A
* thread A cleans query cache
* the server will return the old packet cache entry until its TTL expires or
cache is cleaned again
Switching which cache is cleaned first fixes this race condition.